commit ef855ae9a9413439c0c27e02d8df9a324f7a5587 Author: NeilClack Date: Tue Jan 13 16:21:12 2026 -0600 Init Project This is a pretty far-developed starting point. Authentication has been intialized with Better-Auth, a database has been setup with Prisma, and Google + email logins have been enabled, as well as Google + Email registration. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b2240a9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +node_modules + +# Output +.output +.vercel +.netlify +.wrangler +/.svelte-kit +/build + +# OS +.DS_Store +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* + +/../generated/prisma diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..7d74fe2 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,9 @@ +# Package Managers +package-lock.json +pnpm-lock.yaml +yarn.lock +bun.lock +bun.lockb + +# Miscellaneous +/static/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..819fa57 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,16 @@ +{ + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], + "overrides": [ + { + "files": "*.svelte", + "options": { + "parser": "svelte" + } + } + ], + "tailwindStylesheet": "./src/routes/layout.css" +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bc31e15 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "*.css": "tailwindcss" + } +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ea9d49b --- /dev/null +++ b/Dockerfile @@ -0,0 +1 @@ +# For running the node server and postgres database \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..2517523 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# sv + +Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli). + +## Deployment +- Update the Authorized Redirect URIs on Google Cloud Console +- Update the Better Auth URL diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..34277cb --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,38 @@ +services: + postgres: + image: docker.io/library/postgres:16-alpine + container_name: portal_postgres + restart: unless-stopped + environment: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + volumes: + - pgdata:/var/lib/postgresql/data + ports: + - "5432:5432" + healthcheck: + test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}" ] + interval: 10s + timeout: 5s + retries: 5 + + pgadmin: + image: docker.io/dpage/pgadmin4:latest + container_name: portal_pgadmin + restart: unless-stopped + environment: + PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL} + PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} + PGADMIN_CONFIG_SERVER_MODE: "False" + volumes: + - pgadmin_data:/var/lib/pgadmin + ports: + - "5050:80" + depends_on: + postgres: + condition: service_healthy + +volumes: + pgdata: + pgadmin_data: diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..7df665d --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,41 @@ +import prettier from 'eslint-config-prettier'; +import { fileURLToPath } from 'node:url'; +import { includeIgnoreFile } from '@eslint/compat'; +import js from '@eslint/js'; +import svelte from 'eslint-plugin-svelte'; +import { defineConfig } from 'eslint/config'; +import globals from 'globals'; +import ts from 'typescript-eslint'; +import svelteConfig from './svelte.config.js'; + +const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url)); + +export default defineConfig( + includeIgnoreFile(gitignorePath), + js.configs.recommended, + ...ts.configs.recommended, + ...svelte.configs.recommended, + prettier, + ...svelte.configs.prettier, + { + languageOptions: { globals: { ...globals.browser, ...globals.node } }, + + rules: { + // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. + // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors + 'no-undef': 'off' + } + }, + { + files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'], + + languageOptions: { + parserOptions: { + projectService: true, + extraFileExtensions: ['.svelte'], + parser: ts.parser, + svelteConfig + } + } + } +); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8254b53 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5835 @@ +{ + "name": "portal.radiantwavetech.com", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "portal.radiantwavetech.com", + "version": "0.0.1", + "dependencies": { + "@prisma/adapter-pg": "^7.2.0", + "@prisma/client": "^7.2.0", + "better-auth": "^1.4.10", + "dotenv": "^17.2.3", + "pg": "^8.16.3" + }, + "devDependencies": { + "@eslint/compat": "^1.4.0", + "@eslint/js": "^9.39.1", + "@sveltejs/adapter-auto": "^7.0.0", + "@sveltejs/kit": "^2.49.1", + "@sveltejs/vite-plugin-svelte": "^6.2.1", + "@tailwindcss/forms": "^0.5.10", + "@tailwindcss/typography": "^0.5.19", + "@tailwindcss/vite": "^4.1.17", + "@types/node": "^22.19.5", + "@types/pg": "^8.16.0", + "@vitest/browser-playwright": "^4.0.15", + "eslint": "^9.39.1", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-svelte": "^3.13.1", + "globals": "^16.5.0", + "playwright": "^1.57.0", + "prettier": "^3.7.4", + "prettier-plugin-svelte": "^3.4.0", + "prettier-plugin-tailwindcss": "^0.7.2", + "prisma": "^7.2.0", + "svelte": "^5.45.6", + "svelte-check": "^4.3.4", + "tailwindcss": "^4.1.17", + "typescript": "^5.9.3", + "typescript-eslint": "^8.48.1", + "vite": "^7.2.6", + "vitest": "^4.0.15", + "vitest-browser-svelte": "^2.0.1" + } + }, + "node_modules/@better-auth/core": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/@better-auth/core/-/core-1.4.10.tgz", + "integrity": "sha512-AThrfb6CpG80wqkanfrbN2/fGOYzhGladHFf3JhaWt/3/Vtf4h084T6PJLrDE7M/vCCGYvDI1DkvP3P1OB2HAg==", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "zod": "^4.1.12" + }, + "peerDependencies": { + "@better-auth/utils": "0.3.0", + "@better-fetch/fetch": "1.1.21", + "better-call": "1.1.7", + "jose": "^6.1.0", + "kysely": "^0.28.5", + "nanostores": "^1.0.1" + } + }, + "node_modules/@better-auth/telemetry": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/@better-auth/telemetry/-/telemetry-1.4.10.tgz", + "integrity": "sha512-Dq4XJX6EKsUu0h3jpRagX739p/VMOTcnJYWRrLtDYkqtZFg+sFiFsSWVcfapZoWpRSUGYX9iKwl6nDHn6Ju2oQ==", + "dependencies": { + "@better-auth/utils": "0.3.0", + "@better-fetch/fetch": "1.1.21" + }, + "peerDependencies": { + "@better-auth/core": "1.4.10" + } + }, + "node_modules/@better-auth/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@better-auth/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-W+Adw6ZA6mgvnSnhOki270rwJ42t4XzSK6YWGF//BbVXL6SwCLWfyzBc1lN2m/4RM28KubdBKQ4X5VMoLRNPQw==", + "license": "MIT" + }, + "node_modules/@better-fetch/fetch": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/@better-fetch/fetch/-/fetch-1.1.21.tgz", + "integrity": "sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A==" + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz", + "integrity": "sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.5.0.tgz", + "integrity": "sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/@chevrotain/types": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.5.0.tgz", + "integrity": "sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.5.0.tgz", + "integrity": "sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@electric-sql/pglite": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite/-/pglite-0.3.2.tgz", + "integrity": "sha512-zfWWa+V2ViDCY/cmUfRqeWY1yLto+EpxjXnZzenB1TyxsTiXaTWeZFIZw6mac52BsuQm0RjCnisjBtdBaXOI6w==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@electric-sql/pglite-socket": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite-socket/-/pglite-socket-0.0.6.tgz", + "integrity": "sha512-6RjmgzphIHIBA4NrMGJsjNWK4pu+bCWJlEWlwcxFTVY3WT86dFpKwbZaGWZV6C5Rd7sCk1Z0CI76QEfukLAUXw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "pglite-server": "dist/scripts/server.js" + }, + "peerDependencies": { + "@electric-sql/pglite": "0.3.2" + } + }, + "node_modules/@electric-sql/pglite-tools": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite-tools/-/pglite-tools-0.2.7.tgz", + "integrity": "sha512-9dAccClqxx4cZB+Ar9B+FZ5WgxDc/Xvl9DPrTWv+dYTf0YNubLzi4wHHRGRGhrJv15XwnyKcGOZAP1VXSneSUg==", + "devOptional": true, + "license": "Apache-2.0", + "peerDependencies": { + "@electric-sql/pglite": "0.3.2" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/compat": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.4.1.tgz", + "integrity": "sha512-cfO82V9zxxGBxcQDr1lfaYB7wykTa0b00mGa36FrJl7iTFd0Z2cHfEYuxcBRP/iNijCsWsEkA+jzT8hGYmv33w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^8.40 || 9" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@hono/node-server": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.6.tgz", + "integrity": "sha512-Shz/KjlIeAhfiuE93NDKVdZ7HdBVLQAfdbaXEaoAVO3ic9ibRSLGIQGkcBbFyuLr+7/1D5ZCINM8B+6IvXeMtw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mrleebo/prisma-ast": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@mrleebo/prisma-ast/-/prisma-ast-0.12.1.tgz", + "integrity": "sha512-JwqeCQ1U3fvccttHZq7Tk0m/TMC6WcFAQZdukypW3AzlJYKYTGNVd1ANU2GuhKnv4UQuOFj3oAl0LLG/gxFN1w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "chevrotain": "^10.5.0", + "lilconfig": "^2.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@noble/ciphers": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-2.1.1.tgz", + "integrity": "sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", + "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@prisma/adapter-pg": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/adapter-pg/-/adapter-pg-7.2.0.tgz", + "integrity": "sha512-euIdQ13cRB2wZ3jPsnDnFhINquo1PYFPCg6yVL8b2rp3EdinQHsX9EDdCtRr489D5uhphcRk463OdQAFlsCr0w==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/driver-adapter-utils": "7.2.0", + "pg": "^8.16.3", + "postgres-array": "3.0.4" + } + }, + "node_modules/@prisma/adapter-pg/node_modules/postgres-array": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.4.tgz", + "integrity": "sha512-nAUSGfSDGOaOAEGwqsRY27GPOea7CNipJPOA7lPbdEpx5Kg3qzdP0AaWC5MlhTWV9s4hFX39nomVZ+C4tnGOJQ==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/@prisma/client": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-7.2.0.tgz", + "integrity": "sha512-JdLF8lWZ+LjKGKpBqyAlenxd/kXjd1Abf/xK+6vUA7R7L2Suo6AFTHFRpPSdAKCan9wzdFApsUpSa/F6+t1AtA==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/client-runtime-utils": "7.2.0" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24.0" + }, + "peerDependencies": { + "prisma": "*", + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@prisma/client-runtime-utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/client-runtime-utils/-/client-runtime-utils-7.2.0.tgz", + "integrity": "sha512-dn7oB53v0tqkB0wBdMuTNFNPdEbfICEUe82Tn9FoKAhJCUkDH+fmyEp0ClciGh+9Hp2Tuu2K52kth2MTLstvmA==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/config": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/config/-/config-7.2.0.tgz", + "integrity": "sha512-qmvSnfQ6l/srBW1S7RZGfjTQhc44Yl3ldvU6y3pgmuLM+83SBDs6UQVgMtQuMRe9J3gGqB0RF8wER6RlXEr6jQ==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "c12": "3.1.0", + "deepmerge-ts": "7.1.5", + "effect": "3.18.4", + "empathic": "2.0.0" + } + }, + "node_modules/@prisma/debug": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-7.2.0.tgz", + "integrity": "sha512-YSGTiSlBAVJPzX4ONZmMotL+ozJwQjRmZweQNIq/ER0tQJKJynNkRB3kyvt37eOfsbMCXk3gnLF6J9OJ4QWftw==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/dev": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@prisma/dev/-/dev-0.17.0.tgz", + "integrity": "sha512-6sGebe5jxX+FEsQTpjHLzvOGPn6ypFQprcs3jcuIWv1Xp/5v6P/rjfdvAwTkP2iF6pDx2tCd8vGLNWcsWzImTA==", + "devOptional": true, + "license": "ISC", + "dependencies": { + "@electric-sql/pglite": "0.3.2", + "@electric-sql/pglite-socket": "0.0.6", + "@electric-sql/pglite-tools": "0.2.7", + "@hono/node-server": "1.19.6", + "@mrleebo/prisma-ast": "0.12.1", + "@prisma/get-platform": "6.8.2", + "@prisma/query-plan-executor": "6.18.0", + "foreground-child": "3.3.1", + "get-port-please": "3.1.2", + "hono": "4.10.6", + "http-status-codes": "2.3.0", + "pathe": "2.0.3", + "proper-lockfile": "4.1.2", + "remeda": "2.21.3", + "std-env": "3.9.0", + "valibot": "1.2.0", + "zeptomatch": "2.0.2" + } + }, + "node_modules/@prisma/dev/node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@prisma/driver-adapter-utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/driver-adapter-utils/-/driver-adapter-utils-7.2.0.tgz", + "integrity": "sha512-gzrUcbI9VmHS24Uf+0+7DNzdIw7keglJsD5m/MHxQOU68OhGVzlphQRobLiDMn8CHNA2XN8uugwKjudVtnfMVQ==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.2.0" + } + }, + "node_modules/@prisma/engines": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-7.2.0.tgz", + "integrity": "sha512-HUeOI/SvCDsHrR9QZn24cxxZcujOjcS3w1oW/XVhnSATAli5SRMOfp/WkG3TtT5rCxDA4xOnlJkW7xkho4nURA==", + "devOptional": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.2.0", + "@prisma/engines-version": "7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3", + "@prisma/fetch-engine": "7.2.0", + "@prisma/get-platform": "7.2.0" + } + }, + "node_modules/@prisma/engines-version": { + "version": "7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3.tgz", + "integrity": "sha512-KezsjCZDsbjNR7SzIiVlUsn9PnLePI7r5uxABlwL+xoerurZTfgQVbIjvjF2sVr3Uc0ZcsnREw3F84HvbggGdA==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@prisma/engines/node_modules/@prisma/get-platform": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-7.2.0.tgz", + "integrity": "sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.2.0" + } + }, + "node_modules/@prisma/fetch-engine": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-7.2.0.tgz", + "integrity": "sha512-Z5XZztJ8Ap+wovpjPD2lQKnB8nWFGNouCrglaNFjxIWAGWz0oeHXwUJRiclIoSSXN/ptcs9/behptSk8d0Yy6w==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.2.0", + "@prisma/engines-version": "7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3", + "@prisma/get-platform": "7.2.0" + } + }, + "node_modules/@prisma/fetch-engine/node_modules/@prisma/get-platform": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-7.2.0.tgz", + "integrity": "sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.2.0" + } + }, + "node_modules/@prisma/get-platform": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.8.2.tgz", + "integrity": "sha512-vXSxyUgX3vm1Q70QwzwkjeYfRryIvKno1SXbIqwSptKwqKzskINnDUcx85oX+ys6ooN2ATGSD0xN2UTfg6Zcow==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "6.8.2" + } + }, + "node_modules/@prisma/get-platform/node_modules/@prisma/debug": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.8.2.tgz", + "integrity": "sha512-4muBSSUwJJ9BYth5N8tqts8JtiLT8QI/RSAzEogwEfpbYGFo9mYsInsVo8dqXdPO2+Rm5OG5q0qWDDE3nyUbVg==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@prisma/query-plan-executor": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@prisma/query-plan-executor/-/query-plan-executor-6.18.0.tgz", + "integrity": "sha512-jZ8cfzFgL0jReE1R10gT8JLHtQxjWYLiQ//wHmVYZ2rVkFHoh0DT8IXsxcKcFlfKN7ak7k6j0XMNn2xVNyr5cA==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@prisma/studio-core": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@prisma/studio-core/-/studio-core-0.9.0.tgz", + "integrity": "sha512-xA2zoR/ADu/NCSQuriBKTh6Ps4XjU0bErkEcgMfnSGh346K1VI7iWKnoq1l2DoxUqiddPHIEWwtxJ6xCHG6W7g==", + "devOptional": true, + "license": "Apache-2.0", + "peerDependencies": { + "@types/react": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz", + "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz", + "integrity": "sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz", + "integrity": "sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.1.tgz", + "integrity": "sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz", + "integrity": "sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz", + "integrity": "sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz", + "integrity": "sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz", + "integrity": "sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.1.tgz", + "integrity": "sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz", + "integrity": "sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz", + "integrity": "sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz", + "integrity": "sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz", + "integrity": "sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz", + "integrity": "sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz", + "integrity": "sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz", + "integrity": "sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz", + "integrity": "sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz", + "integrity": "sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz", + "integrity": "sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz", + "integrity": "sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz", + "integrity": "sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.1.tgz", + "integrity": "sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz", + "integrity": "sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz", + "integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz", + "integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@sveltejs/acorn-typescript": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.8.tgz", + "integrity": "sha512-esgN+54+q0NjB0Y/4BomT9samII7jGwNy/2a3wNZbT2A2RpmXsXwUt24LvLhx6jUq2gVk4cWEvcRO6MFQbOfNA==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8.9.0" + } + }, + "node_modules/@sveltejs/adapter-auto": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-7.0.0.tgz", + "integrity": "sha512-ImDWaErTOCkRS4Gt+5gZuymKFBobnhChXUZ9lhUZLahUgvA4OOvRzi3sahzYgbxGj5nkA6OV0GAW378+dl/gyw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.49.4", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.49.4.tgz", + "integrity": "sha512-JFtOqDoU0DI/+QSG8qnq5bKcehVb3tCHhOG4amsSYth5/KgO4EkJvi42xSAiyKmXAAULW1/Zdb6lkgGEgSxdZg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.14.1", + "cookie": "^0.6.0", + "devalue": "^5.3.2", + "esm-env": "^1.2.2", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^3.0.0" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": "^5.3.3", + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.2.4.tgz", + "integrity": "sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", + "deepmerge": "^4.3.1", + "magic-string": "^0.30.21", + "obug": "^2.1.0", + "vitefu": "^1.1.1" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite": "^6.3.0 || ^7.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.2.tgz", + "integrity": "sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "obug": "^2.1.0" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", + "svelte": "^5.0.0", + "vite": "^6.3.0 || ^7.0.0" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.11.tgz", + "integrity": "sha512-h9wegbZDPurxG22xZSoWtdzc41/OlNEUQERNqI/0fOwa2aVlWGu7C35E/x6LDyD3lgtztFSSjKZyuVM0hxhbgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", + "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz", + "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "tailwindcss": "4.1.18" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.5.tgz", + "integrity": "sha512-HfF8+mYcHPcPypui3w3mvzuIErlNOh2OAG+BCeBZCEwyiD5ls2SiCwEyT47OELtf7M3nHxBdu0FsmzdKxkN52Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/pg": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.16.0.tgz", + "integrity": "sha512-RmhMd/wD+CF8Dfo+cVIy3RR5cl8CyfXQ0tGgW6XBL8L4LM/UTEbNXYRbLwU6w+CgrKBNbrQWt4FUtTfaU5jSYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.8.tgz", + "integrity": "sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz", + "integrity": "sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/type-utils": "8.52.0", + "@typescript-eslint/utils": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.52.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz", + "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz", + "integrity": "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.52.0", + "@typescript-eslint/types": "^8.52.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz", + "integrity": "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz", + "integrity": "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz", + "integrity": "sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0", + "@typescript-eslint/utils": "8.52.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz", + "integrity": "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz", + "integrity": "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.52.0", + "@typescript-eslint/tsconfig-utils": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/visitor-keys": "8.52.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz", + "integrity": "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.52.0", + "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz", + "integrity": "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.52.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitest/browser": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.0.16.tgz", + "integrity": "sha512-t4toy8X/YTnjYEPoY0pbDBg3EvDPg1elCDrfc+VupPHwoN/5/FNQ8Z+xBYIaEnOE2vVEyKwqYBzZ9h9rJtZVcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/mocker": "4.0.16", + "@vitest/utils": "4.0.16", + "magic-string": "^0.30.21", + "pixelmatch": "7.1.0", + "pngjs": "^7.0.0", + "sirv": "^3.0.2", + "tinyrainbow": "^3.0.3", + "ws": "^8.18.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "4.0.16" + } + }, + "node_modules/@vitest/browser-playwright": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.0.16.tgz", + "integrity": "sha512-I2Fy/ANdphi1yI46d15o0M1M4M0UJrUiVKkH5oKeRZZCdPg0fw/cfTKZzv9Ge9eobtJYp4BGblMzXdXH0vcl5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/browser": "4.0.16", + "@vitest/mocker": "4.0.16", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "playwright": "*", + "vitest": "4.0.16" + }, + "peerDependenciesMeta": { + "playwright": { + "optional": false + } + } + }, + "node_modules/@vitest/expect": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.16.tgz", + "integrity": "sha512-eshqULT2It7McaJkQGLkPjPjNph+uevROGuIMJdG3V+0BSR2w9u6J9Lwu+E8cK5TETlfou8GRijhafIMhXsimA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.0.16", + "@vitest/utils": "4.0.16", + "chai": "^6.2.1", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.16.tgz", + "integrity": "sha512-yb6k4AZxJTB+q9ycAvsoxGn+j/po0UaPgajllBgt1PzoMAAmJGYFdDk0uCcRcxb3BrME34I6u8gHZTQlkqSZpg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.0.16", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.16.tgz", + "integrity": "sha512-eNCYNsSty9xJKi/UdVD8Ou16alu7AYiS2fCPRs0b1OdhJiV89buAXQLpTbe+X8V9L6qrs9CqyvU7OaAopJYPsA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.16.tgz", + "integrity": "sha512-VWEDm5Wv9xEo80ctjORcTQRJ539EGPB3Pb9ApvVRAY1U/WkHXmmYISqU5E79uCwcW7xYUV38gwZD+RV755fu3Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.0.16", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.16.tgz", + "integrity": "sha512-sf6NcrYhYBsSYefxnry+DR8n3UV4xWZwWxYbCJUt2YdvtqzSPR7VfGrY0zsv090DAbjFZsi7ZaMi1KnSRyK1XA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.0.16", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.16.tgz", + "integrity": "sha512-4jIOWjKP0ZUaEmJm00E0cOBLU+5WE0BpeNr3XN6TEF05ltro6NJqHWxXD0kA8/Zc8Nh23AT8WQxwNG+WeROupw==", + "devOptional": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.16.tgz", + "integrity": "sha512-h8z9yYhV3e1LEfaQ3zdypIrnAg/9hguReGZoS7Gl0aBG5xgA410zBqECqmaF/+RkTggRsfnzc1XaAHA6bmUufA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.0.16", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "devOptional": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/aws-ssl-profiles": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz", + "integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/better-auth": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/better-auth/-/better-auth-1.4.10.tgz", + "integrity": "sha512-0kqwEBJLe8eyFzbUspRG/htOriCf9uMLlnpe34dlIJGdmDfPuQISd4shShvUrvIVhPxsY1dSTXdXPLpqISYOYg==", + "license": "MIT", + "dependencies": { + "@better-auth/core": "1.4.10", + "@better-auth/telemetry": "1.4.10", + "@better-auth/utils": "0.3.0", + "@better-fetch/fetch": "1.1.21", + "@noble/ciphers": "^2.0.0", + "@noble/hashes": "^2.0.0", + "better-call": "1.1.7", + "defu": "^6.1.4", + "jose": "^6.1.0", + "kysely": "^0.28.5", + "nanostores": "^1.0.1", + "zod": "^4.1.12" + }, + "peerDependencies": { + "@lynx-js/react": "*", + "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", + "@sveltejs/kit": "^2.0.0", + "@tanstack/react-start": "^1.0.0", + "better-sqlite3": "^12.0.0", + "drizzle-kit": ">=0.31.4", + "drizzle-orm": ">=0.41.0", + "mongodb": "^6.0.0 || ^7.0.0", + "mysql2": "^3.0.0", + "next": "^14.0.0 || ^15.0.0 || ^16.0.0", + "pg": "^8.0.0", + "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0", + "solid-js": "^1.0.0", + "svelte": "^4.0.0 || ^5.0.0", + "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", + "vue": "^3.0.0" + }, + "peerDependenciesMeta": { + "@lynx-js/react": { + "optional": true + }, + "@prisma/client": { + "optional": true + }, + "@sveltejs/kit": { + "optional": true + }, + "@tanstack/react-start": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "drizzle-kit": { + "optional": true + }, + "drizzle-orm": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "next": { + "optional": true + }, + "pg": { + "optional": true + }, + "prisma": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "solid-js": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vitest": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/better-call": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/better-call/-/better-call-1.1.7.tgz", + "integrity": "sha512-6gaJe1bBIEgVebQu/7q9saahVzvBsGaByEnE8aDVncZEDiJO7sdNB28ot9I6iXSbR25egGmmZ6aIURXyQHRraQ==", + "license": "MIT", + "dependencies": { + "@better-auth/utils": "^0.3.0", + "@better-fetch/fetch": "^1.1.4", + "rou3": "^0.7.10", + "set-cookie-parser": "^2.7.1" + }, + "peerDependencies": { + "zod": "^4.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/c12": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.1.0.tgz", + "integrity": "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==", + "devOptional": true, + "license": "MIT", + "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" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/c12/node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "devOptional": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chevrotain": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.5.0.tgz", + "integrity": "sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "10.5.0", + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "@chevrotain/utils": "10.5.0", + "lodash": "4.17.21", + "regexp-to-ast": "0.5.0" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "devOptional": true, + "license": "MIT", + "peer": true + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deepmerge-ts": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", + "integrity": "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.1.tgz", + "integrity": "sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/effect": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/effect/-/effect-3.18.4.tgz", + "integrity": "sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "fast-check": "^3.23.1" + } + }, + "node_modules/empathic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz", + "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "devOptional": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-svelte": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.14.0.tgz", + "integrity": "sha512-Isw0GvaMm0yHxAj71edAdGFh28ufYs+6rk2KlbbZphnqZAzrH3Se3t12IFh2H9+1F/jlDhBBL4oiOJmLqmYX0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.6.1", + "@jridgewell/sourcemap-codec": "^1.5.0", + "esutils": "^2.0.3", + "globals": "^16.0.0", + "known-css-properties": "^0.37.0", + "postcss": "^8.4.49", + "postcss-load-config": "^3.1.4", + "postcss-safe-parser": "^7.0.0", + "semver": "^7.6.3", + "svelte-eslint-parser": "^1.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": "^8.57.1 || ^9.0.0", + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrap": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.1.tgz", + "integrity": "sha512-GiYWG34AN/4CUyaWAgunGt0Rxvr1PTMlGC0vvEov/uOQYWne2bpN03Um+k8jT+q3op33mKouP2zeJ6OlM+qeUg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/fast-check": { + "version": "3.23.2", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz", + "integrity": "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==", + "devOptional": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT", + "dependencies": { + "pure-rand": "^6.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "devOptional": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "is-property": "^1.0.2" + } + }, + "node_modules/get-port-please": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", + "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", + "devOptional": true, + "license": "MIT", + "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" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/grammex": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/grammex/-/grammex-3.1.12.tgz", + "integrity": "sha512-6ufJOsSA7LcQehIJNCO7HIBykfM7DXQual0Ny780/DEcJIpBlHRvcqEBWGPYd7hrXL2GJ3oJI1MIhaXjWmLQOQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hono": { + "version": "4.10.6", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.10.6.tgz", + "integrity": "sha512-BIdolzGpDO9MQ4nu3AUuDwHZZ+KViNm+EZ75Ae55eMXMqLVhDFqEMXxtUe9Qh8hjL+pIna/frs2j6Y2yD5Ua/g==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/http-status-codes": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", + "integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/is-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.6" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "devOptional": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/jose": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", + "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/kysely": { + "version": "0.28.9", + "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.28.9.tgz", + "integrity": "sha512-3BeXMoiOhpOwu62CiVpO6lxfq4eS6KMYfQdMsN/2kUCRNuF2YiEr7u0HLHaQU+O4Xu8YXE3bHVkwaQ85i72EuA==", + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/lru.min": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.3.tgz", + "integrity": "sha512-Lkk/vx6ak3rYkRR0Nhu4lFUT2VDnQSxBe8Hbl7f36358p6ow8Bnvr8lrLt98H8J1aGxfhbX4Fs5tYg2+FTwr5Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "bun": ">=1.0.0", + "deno": ">=1.30.0", + "node": ">=8.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wellwelwel" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "license": "MIT", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mysql2": { + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.15.3.tgz", + "integrity": "sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==", + "devOptional": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/named-placeholders": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.6.tgz", + "integrity": "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "lru.min": "^1.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanostores": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-1.1.0.tgz", + "integrity": "sha512-yJBmDJr18xy47dbNVlHcgdPrulSn1nhSE6Ns9vTG+Nx9VPT6iV1MD6aQFp/t52zpf82FhLLTXAXr30NuCnxvwA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": "^20.0.0 || >=22.0.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/nypm": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.2.tgz", + "integrity": "sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.2", + "pathe": "^2.0.3", + "pkg-types": "^2.3.0", + "tinyexec": "^1.0.1" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "devOptional": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/pg": { + "version": "8.16.3", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.16.3.tgz", + "integrity": "sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.9.1", + "pg-pool": "^3.10.1", + "pg-protocol": "^1.10.3", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.2.7" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.2.7.tgz", + "integrity": "sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.9.1.tgz", + "integrity": "sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.10.1.tgz", + "integrity": "sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.10.3.tgz", + "integrity": "sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pixelmatch": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-7.1.0.tgz", + "integrity": "sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==", + "dev": true, + "license": "ISC", + "dependencies": { + "pngjs": "^7.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pkg-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", + "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, + "node_modules/playwright": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", + "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.57.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", + "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/pngjs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", + "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "devOptional": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/postgres/-/postgres-3.4.7.tgz", + "integrity": "sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==", + "devOptional": true, + "license": "Unlicense", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/porsager" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", + "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-svelte": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.1.tgz", + "integrity": "sha512-xL49LCloMoZRvSwa6IEdN2GV6cq2IqpYGstYtMT+5wmml1/dClEoI0MZR78MiVPpu6BdQFfN0/y73yO6+br5Pg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "prettier": "^3.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.7.2.tgz", + "integrity": "sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.19" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-hermes": "*", + "@prettier/plugin-oxc": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "@zackad/prettier-plugin-twig": "*", + "prettier": "^3.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-marko": "*", + "prettier-plugin-multiline-arrays": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-sort-imports": "*", + "prettier-plugin-svelte": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-hermes": { + "optional": true + }, + "@prettier/plugin-oxc": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "@zackad/prettier-plugin-twig": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + }, + "prettier-plugin-css-order": { + "optional": true + }, + "prettier-plugin-jsdoc": { + "optional": true + }, + "prettier-plugin-marko": { + "optional": true + }, + "prettier-plugin-multiline-arrays": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + } + } + }, + "node_modules/prisma": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-7.2.0.tgz", + "integrity": "sha512-jSdHWgWOgFF24+nRyyNRVBIgGDQEsMEF8KPHvhBBg3jWyR9fUAK0Nq9ThUmiGlNgq2FA7vSk/ZoCvefod+a8qg==", + "devOptional": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/config": "7.2.0", + "@prisma/dev": "0.17.0", + "@prisma/engines": "7.2.0", + "@prisma/studio-core": "0.9.0", + "mysql2": "3.15.3", + "postgres": "3.4.7" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24.0" + }, + "peerDependencies": { + "better-sqlite3": ">=9.0.0", + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "better-sqlite3": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proper-lockfile/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "devOptional": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/react": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.3" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regexp-to-ast": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", + "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/remeda": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/remeda/-/remeda-2.21.3.tgz", + "integrity": "sha512-XXrZdLA10oEOQhLLzEJEiFFSKi21REGAkHdImIb4rt/XXy8ORGXh5HCcpUOsElfPNDb+X6TA/+wkh+p2KffYmg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "type-fest": "^4.39.1" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rollup": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz", + "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.55.1", + "@rollup/rollup-android-arm64": "4.55.1", + "@rollup/rollup-darwin-arm64": "4.55.1", + "@rollup/rollup-darwin-x64": "4.55.1", + "@rollup/rollup-freebsd-arm64": "4.55.1", + "@rollup/rollup-freebsd-x64": "4.55.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.55.1", + "@rollup/rollup-linux-arm-musleabihf": "4.55.1", + "@rollup/rollup-linux-arm64-gnu": "4.55.1", + "@rollup/rollup-linux-arm64-musl": "4.55.1", + "@rollup/rollup-linux-loong64-gnu": "4.55.1", + "@rollup/rollup-linux-loong64-musl": "4.55.1", + "@rollup/rollup-linux-ppc64-gnu": "4.55.1", + "@rollup/rollup-linux-ppc64-musl": "4.55.1", + "@rollup/rollup-linux-riscv64-gnu": "4.55.1", + "@rollup/rollup-linux-riscv64-musl": "4.55.1", + "@rollup/rollup-linux-s390x-gnu": "4.55.1", + "@rollup/rollup-linux-x64-gnu": "4.55.1", + "@rollup/rollup-linux-x64-musl": "4.55.1", + "@rollup/rollup-openbsd-x64": "4.55.1", + "@rollup/rollup-openharmony-arm64": "4.55.1", + "@rollup/rollup-win32-arm64-msvc": "4.55.1", + "@rollup/rollup-win32-ia32-msvc": "4.55.1", + "@rollup/rollup-win32-x64-gnu": "4.55.1", + "@rollup/rollup-win32-x64-msvc": "4.55.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/rou3": { + "version": "0.7.12", + "resolved": "https://registry.npmjs.org/rou3/-/rou3-0.7.12.tgz", + "integrity": "sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==", + "license": "MIT" + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "devOptional": true, + "license": "MIT", + "peer": true + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==", + "devOptional": true + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "devOptional": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svelte": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.46.1.tgz", + "integrity": "sha512-ynjfCHD3nP2el70kN5Pmg37sSi0EjOm9FgHYQdC4giWG/hzO3AatzXXJJgP305uIhGQxSufJLuYWtkY8uK/8RA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/estree": "^1.0.5", + "acorn": "^8.12.1", + "aria-query": "^5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "devalue": "^5.5.0", + "esm-env": "^1.2.1", + "esrap": "^2.2.1", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/svelte-check": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.3.5.tgz", + "integrity": "sha512-e4VWZETyXaKGhpkxOXP+B/d0Fp/zKViZoJmneZWe/05Y2aqSKj3YN2nLfYPJBQ87WEiY4BQCQ9hWGu9mPT1a1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "chokidar": "^4.0.1", + "fdir": "^6.2.0", + "picocolors": "^1.0.0", + "sade": "^1.7.4" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "engines": { + "node": ">= 18.0.0" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": ">=5.0.0" + } + }, + "node_modules/svelte-eslint-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.4.1.tgz", + "integrity": "sha512-1eqkfQ93goAhjAXxZiu1SaKI9+0/sxp4JIWQwUpsz7ybehRE5L8dNuz7Iry7K22R47p5/+s9EM+38nHV2OlgXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.0", + "postcss": "^8.4.49", + "postcss-scss": "^4.0.9", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0", + "pnpm": "10.24.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/svelte-eslint-parser/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyrainbow": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", + "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "devOptional": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.52.0.tgz", + "integrity": "sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.52.0", + "@typescript-eslint/parser": "8.52.0", + "@typescript-eslint/typescript-estree": "8.52.0", + "@typescript-eslint/utils": "8.52.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/valibot": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/valibot/-/valibot-1.2.0.tgz", + "integrity": "sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "typescript": ">=5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vite": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/vitefu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "devOptional": true, + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.16.tgz", + "integrity": "sha512-E4t7DJ9pESL6E3I8nFjPa4xGUd3PmiWDLsDztS2qXSJWfHtbQnwAWylaBvSNY48I3vr8PTqIZlyK8TE3V3CA4Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.0.16", + "@vitest/mocker": "4.0.16", + "@vitest/pretty-format": "4.0.16", + "@vitest/runner": "4.0.16", + "@vitest/snapshot": "4.0.16", + "@vitest/spy": "4.0.16", + "@vitest/utils": "4.0.16", + "es-module-lexer": "^1.7.0", + "expect-type": "^1.2.2", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^3.10.0", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.0.3", + "vite": "^6.0.0 || ^7.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.0.16", + "@vitest/browser-preview": "4.0.16", + "@vitest/browser-webdriverio": "4.0.16", + "@vitest/ui": "4.0.16", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest-browser-svelte": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vitest-browser-svelte/-/vitest-browser-svelte-2.0.1.tgz", + "integrity": "sha512-z7GFio7vxaOolY+xwPUMEKuwL4KcPzB8+bepA9F0Phqag/TJ4j7IAGSwm4Y/FBh7KznsP+7aEIllMay0qDpFXw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "svelte": "^3 || ^4 || ^5 || ^5.0.0-next.0", + "vitest": "^4.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "devOptional": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zeptomatch": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/zeptomatch/-/zeptomatch-2.0.2.tgz", + "integrity": "sha512-H33jtSKf8Ijtb5BW6wua3G5DhnFjbFML36eFu+VdOoVY4HD9e7ggjqdM6639B+L87rjnR6Y+XeRzBXZdy52B/g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "grammex": "^3.1.10" + } + }, + "node_modules/zimmerframe": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", + "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/zod": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", + "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..47b3838 --- /dev/null +++ b/package.json @@ -0,0 +1,55 @@ +{ + "name": "portal.radiantwavetech.com", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "prepare": "svelte-kit sync || echo ''", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "format": "prettier --write .", + "lint": "prettier --check . && eslint .", + "test:unit": "vitest", + "test": "npm run test:unit -- --run" + }, + "devDependencies": { + "@eslint/compat": "^1.4.0", + "@eslint/js": "^9.39.1", + "@sveltejs/adapter-auto": "^7.0.0", + "@sveltejs/kit": "^2.49.1", + "@sveltejs/vite-plugin-svelte": "^6.2.1", + "@tailwindcss/forms": "^0.5.10", + "@tailwindcss/typography": "^0.5.19", + "@tailwindcss/vite": "^4.1.17", + "@types/node": "^22.19.5", + "@types/pg": "^8.16.0", + "@vitest/browser-playwright": "^4.0.15", + "eslint": "^9.39.1", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-svelte": "^3.13.1", + "globals": "^16.5.0", + "playwright": "^1.57.0", + "prettier": "^3.7.4", + "prettier-plugin-svelte": "^3.4.0", + "prettier-plugin-tailwindcss": "^0.7.2", + "prisma": "^7.2.0", + "svelte": "^5.45.6", + "svelte-check": "^4.3.4", + "tailwindcss": "^4.1.17", + "typescript": "^5.9.3", + "typescript-eslint": "^8.48.1", + "vite": "^7.2.6", + "vitest": "^4.0.15", + "vitest-browser-svelte": "^2.0.1" + }, + "dependencies": { + "@prisma/adapter-pg": "^7.2.0", + "@prisma/client": "^7.2.0", + "better-auth": "^1.4.10", + "dotenv": "^17.2.3", + "pg": "^8.16.3" + } +} diff --git a/prisma.config.ts b/prisma.config.ts new file mode 100644 index 0000000..bbe4167 --- /dev/null +++ b/prisma.config.ts @@ -0,0 +1,16 @@ +// This file was generated by Prisma, and assumes you have installed the following: +// npm install --save-dev prisma dotenv +import "dotenv/config"; +import { defineConfig } from "prisma/config"; + +console.log(process.env["DATABASE_URL"]) + +export default defineConfig({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + }, + datasource: { + url: process.env["DATABASE_URL"], + }, +}); diff --git a/prisma/migrations/20260112160005_init_better_auth/migration.sql b/prisma/migrations/20260112160005_init_better_auth/migration.sql new file mode 100644 index 0000000..c0feb5c --- /dev/null +++ b/prisma/migrations/20260112160005_init_better_auth/migration.sql @@ -0,0 +1,78 @@ +-- CreateTable +CREATE TABLE "user" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "email" TEXT NOT NULL, + "emailVerified" BOOLEAN NOT NULL DEFAULT false, + "image" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "user_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "session" ( + "id" TEXT NOT NULL, + "expiresAt" TIMESTAMP(3) NOT NULL, + "token" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "ipAddress" TEXT, + "userAgent" TEXT, + "userId" TEXT NOT NULL, + + CONSTRAINT "session_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "account" ( + "id" TEXT NOT NULL, + "accountId" TEXT NOT NULL, + "providerId" TEXT NOT NULL, + "userId" TEXT NOT NULL, + "accessToken" TEXT, + "refreshToken" TEXT, + "idToken" TEXT, + "accessTokenExpiresAt" TIMESTAMP(3), + "refreshTokenExpiresAt" TIMESTAMP(3), + "scope" TEXT, + "password" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "account_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "verification" ( + "id" TEXT NOT NULL, + "identifier" TEXT NOT NULL, + "value" TEXT NOT NULL, + "expiresAt" TIMESTAMP(3) NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "verification_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "user_email_key" ON "user"("email"); + +-- CreateIndex +CREATE INDEX "session_userId_idx" ON "session"("userId"); + +-- CreateIndex +CREATE UNIQUE INDEX "session_token_key" ON "session"("token"); + +-- CreateIndex +CREATE INDEX "account_userId_idx" ON "account"("userId"); + +-- CreateIndex +CREATE INDEX "verification_identifier_idx" ON "verification"("identifier"); + +-- AddForeignKey +ALTER TABLE "session" ADD CONSTRAINT "session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "account" ADD CONSTRAINT "account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/migrations/20260113135007_add_affirmations/migration.sql b/prisma/migrations/20260113135007_add_affirmations/migration.sql new file mode 100644 index 0000000..bc4ffab --- /dev/null +++ b/prisma/migrations/20260113135007_add_affirmations/migration.sql @@ -0,0 +1,49 @@ +-- CreateTable +CREATE TABLE "Affirmation" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "content" TEXT NOT NULL, + "solfeggioFrequencyId" INTEGER NOT NULL, + "categoryId" INTEGER NOT NULL, + "price" DOUBLE PRECISION NOT NULL DEFAULT 0.99, + + CONSTRAINT "Affirmation_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "SolfeggioFrequency" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + "value" DOUBLE PRECISION NOT NULL, + + CONSTRAINT "SolfeggioFrequency_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "AffirmationCategory" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + + CONSTRAINT "AffirmationCategory_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "Affirmation_name_key" ON "Affirmation"("name"); + +-- CreateIndex +CREATE UNIQUE INDEX "Affirmation_content_key" ON "Affirmation"("content"); + +-- CreateIndex +CREATE UNIQUE INDEX "SolfeggioFrequency_name_key" ON "SolfeggioFrequency"("name"); + +-- CreateIndex +CREATE UNIQUE INDEX "SolfeggioFrequency_value_key" ON "SolfeggioFrequency"("value"); + +-- CreateIndex +CREATE UNIQUE INDEX "AffirmationCategory_name_key" ON "AffirmationCategory"("name"); + +-- AddForeignKey +ALTER TABLE "Affirmation" ADD CONSTRAINT "Affirmation_solfeggioFrequencyId_fkey" FOREIGN KEY ("solfeggioFrequencyId") REFERENCES "SolfeggioFrequency"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Affirmation" ADD CONSTRAINT "Affirmation_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "AffirmationCategory"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20260113142808_add_user_roles/migration.sql b/prisma/migrations/20260113142808_add_user_roles/migration.sql new file mode 100644 index 0000000..77fd8e1 --- /dev/null +++ b/prisma/migrations/20260113142808_add_user_roles/migration.sql @@ -0,0 +1,13 @@ +-- AlterTable +ALTER TABLE "user" ADD COLUMN "roleId" INTEGER; + +-- CreateTable +CREATE TABLE "UserRole" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + + CONSTRAINT "UserRole_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "user" ADD CONSTRAINT "user_roleId_fkey" FOREIGN KEY ("roleId") REFERENCES "UserRole"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..044d57c --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (e.g., Git) +provider = "postgresql" diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..070b5f1 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,109 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions? +// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init + +generator client { + provider = "prisma-client" + output = "../src/lib/generated/prisma" +} + +datasource db { + provider = "postgresql" +} + +model User { + id String @id + name String + email String + emailVerified Boolean @default(false) + image String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + roleId Int? + role UserRole? @relation(fields: [roleId], references: [id]) + sessions Session[] + accounts Account[] + + @@unique([email]) + @@map("user") +} + +model Session { + id String @id + expiresAt DateTime + token String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + ipAddress String? + userAgent String? + userId String + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + + @@unique([token]) + @@index([userId]) + @@map("session") +} + +model Account { + id String @id + accountId String + providerId String + userId String + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + accessToken String? + refreshToken String? + idToken String? + accessTokenExpiresAt DateTime? + refreshTokenExpiresAt DateTime? + scope String? + password String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + @@index([userId]) + @@map("account") +} + +model UserRole { + id Int @id @default(autoincrement()) + name String + users User[] +} + +model Verification { + id String @id + identifier String + value String + expiresAt DateTime + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + @@index([identifier]) + @@map("verification") +} + +model Affirmation { + id String @id @default(uuid()) + name String @unique + content String @unique + solfeggioFrequencyId Int + solfeggioFrequency SolfeggioFrequency @relation(fields: [solfeggioFrequencyId], references: [id]) + categoryId Int + category AffirmationCategory @relation(fields: [categoryId], references: [id]) + price Float @default(0.99) +} + +model SolfeggioFrequency { + id Int @id @default(autoincrement()) + name String @unique + value Float @unique + affirmations Affirmation[] +} + +model AffirmationCategory { + id Int @id @default(autoincrement()) + name String @unique + affirmations Affirmation[] +} diff --git a/src/app.d.ts b/src/app.d.ts new file mode 100644 index 0000000..1168519 --- /dev/null +++ b/src/app.d.ts @@ -0,0 +1,12 @@ +import type { Session, User } from "better-auth"; + +declare global { + namespace App { + interface Locals { + session: Session, + user: User, + } + } +} + +export { }; diff --git a/src/app.html b/src/app.html new file mode 100644 index 0000000..b5bbbd8 --- /dev/null +++ b/src/app.html @@ -0,0 +1,14 @@ + + + + + + + %sveltekit.head% + + + +
%sveltekit.body%
+ + + \ No newline at end of file diff --git a/src/demo.spec.ts b/src/demo.spec.ts new file mode 100644 index 0000000..e07cbbd --- /dev/null +++ b/src/demo.spec.ts @@ -0,0 +1,7 @@ +import { describe, it, expect } from 'vitest'; + +describe('sum test', () => { + it('adds 1 + 2 to equal 3', () => { + expect(1 + 2).toBe(3); + }); +}); diff --git a/src/hooks.server.ts b/src/hooks.server.ts new file mode 100644 index 0000000..441d150 --- /dev/null +++ b/src/hooks.server.ts @@ -0,0 +1,18 @@ +import { auth } from "$lib/auth"; +import { svelteKitHandler } from "better-auth/svelte-kit"; +import { building } from "$app/environment"; + +export async function handle({ event, resolve }) { + // Fetch current session from Better Auth + const session = await auth.api.getSession({ + headers: event.request.headers, + }); + + // Make session and user available on server + if (session) { + event.locals.session = session.session; + event.locals.user = session.user; + } + + return svelteKitHandler({ event, resolve, auth, building }); +} \ No newline at end of file diff --git a/src/lib/assets/favicon.svg b/src/lib/assets/favicon.svg new file mode 100644 index 0000000..cc5dc66 --- /dev/null +++ b/src/lib/assets/favicon.svg @@ -0,0 +1 @@ +svelte-logo \ No newline at end of file diff --git a/src/lib/auth-client.ts b/src/lib/auth-client.ts new file mode 100644 index 0000000..2481aef --- /dev/null +++ b/src/lib/auth-client.ts @@ -0,0 +1,9 @@ +import { createAuthClient } from "better-auth/svelte" + +export const authClient = createAuthClient({}); + +const signIn = async () => { + const data = await authClient.signIn.social({ + provider: "google", + }); +}; \ No newline at end of file diff --git a/src/lib/auth.ts b/src/lib/auth.ts new file mode 100644 index 0000000..1af3605 --- /dev/null +++ b/src/lib/auth.ts @@ -0,0 +1,24 @@ +import { betterAuth } from "better-auth"; +import { prismaAdapter } from "better-auth/adapters/prisma"; +import { prisma } from "$lib/db"; +import { sveltekitCookies } from "better-auth/svelte-kit"; +import { getRequestEvent } from "$app/server"; + + +export const auth = betterAuth({ + baseURL: process.env.BETTER_AUTH_URL, + database: prismaAdapter(prisma, { + provider: "postgresql", + }), + emailAndPassword: { + enabled: true, + }, + socialProviders: { + google: { + prompt: "select_account", + clientId: process.env.GOOGLE_CLIENT_ID as string, + clientSecret: process.env.GOOGLE_CLIENT_SECRET as string, + } + }, + plugins: [sveltekitCookies(getRequestEvent)], +}) \ No newline at end of file diff --git a/src/lib/components/containers/Center.svelte b/src/lib/components/containers/Center.svelte new file mode 100644 index 0000000..1bff2a3 --- /dev/null +++ b/src/lib/components/containers/Center.svelte @@ -0,0 +1,7 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/containers/Window.svelte b/src/lib/components/containers/Window.svelte new file mode 100644 index 0000000..44037a0 --- /dev/null +++ b/src/lib/components/containers/Window.svelte @@ -0,0 +1,9 @@ + + +
+
+ {@render children()} +
+
diff --git a/src/lib/components/forms/affirmation/AffirmationForm.svelte b/src/lib/components/forms/affirmation/AffirmationForm.svelte new file mode 100644 index 0000000..bf46bb9 --- /dev/null +++ b/src/lib/components/forms/affirmation/AffirmationForm.svelte @@ -0,0 +1,7 @@ + + +
+
+
diff --git a/src/lib/components/ui/topBar/TopBar.svelte b/src/lib/components/ui/topBar/TopBar.svelte new file mode 100644 index 0000000..73b429b --- /dev/null +++ b/src/lib/components/ui/topBar/TopBar.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/db.ts b/src/lib/db.ts new file mode 100644 index 0000000..362b713 --- /dev/null +++ b/src/lib/db.ts @@ -0,0 +1,10 @@ +import "dotenv/config"; +import { PrismaPg } from '@prisma/adapter-pg' +import { PrismaClient } from '$lib/generated/prisma/client' + +const connectionString = `${process.env.DATABASE_URL}` + +const adapter = new PrismaPg({ connectionString }) +const prisma = new PrismaClient({ adapter }) + +export { prisma } \ No newline at end of file diff --git a/src/lib/generated/prisma/browser.ts b/src/lib/generated/prisma/browser.ts new file mode 100644 index 0000000..785bb9d --- /dev/null +++ b/src/lib/generated/prisma/browser.ts @@ -0,0 +1,59 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file should be your main import to use Prisma-related types and utilities in a browser. + * Use it to get access to models, enums, and input types. + * + * This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only. + * See `client.ts` for the standard, server-side entry point. + * + * 🟢 You can import this file directly. + */ + +import * as Prisma from './internal/prismaNamespaceBrowser.ts' +export { Prisma } +export * as $Enums from './enums.ts' +export * from './enums.ts'; +/** + * Model User + * + */ +export type User = Prisma.UserModel +/** + * Model Session + * + */ +export type Session = Prisma.SessionModel +/** + * Model Account + * + */ +export type Account = Prisma.AccountModel +/** + * Model UserRole + * + */ +export type UserRole = Prisma.UserRoleModel +/** + * Model Verification + * + */ +export type Verification = Prisma.VerificationModel +/** + * Model Affirmation + * + */ +export type Affirmation = Prisma.AffirmationModel +/** + * Model SolfeggioFrequency + * + */ +export type SolfeggioFrequency = Prisma.SolfeggioFrequencyModel +/** + * Model AffirmationCategory + * + */ +export type AffirmationCategory = Prisma.AffirmationCategoryModel diff --git a/src/lib/generated/prisma/client.ts b/src/lib/generated/prisma/client.ts new file mode 100644 index 0000000..298b717 --- /dev/null +++ b/src/lib/generated/prisma/client.ts @@ -0,0 +1,81 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types. + * If you're looking for something you can import in the client-side of your application, please refer to the `browser.ts` file instead. + * + * 🟢 You can import this file directly. + */ + +import * as process from 'node:process' +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.ts" +import * as $Class from "./internal/class.ts" +import * as Prisma from "./internal/prismaNamespace.ts" + +export * as $Enums from './enums.ts' +export * from "./enums.ts" +/** + * ## Prisma Client + * + * Type-safe database client for TypeScript + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Users + * const users = await prisma.user.findMany() + * ``` + * + * Read more in our [docs](https://pris.ly/d/client). + */ +export const PrismaClient = $Class.getPrismaClientClass() +export type PrismaClient = $Class.PrismaClient +export { Prisma } + +/** + * Model User + * + */ +export type User = Prisma.UserModel +/** + * Model Session + * + */ +export type Session = Prisma.SessionModel +/** + * Model Account + * + */ +export type Account = Prisma.AccountModel +/** + * Model UserRole + * + */ +export type UserRole = Prisma.UserRoleModel +/** + * Model Verification + * + */ +export type Verification = Prisma.VerificationModel +/** + * Model Affirmation + * + */ +export type Affirmation = Prisma.AffirmationModel +/** + * Model SolfeggioFrequency + * + */ +export type SolfeggioFrequency = Prisma.SolfeggioFrequencyModel +/** + * Model AffirmationCategory + * + */ +export type AffirmationCategory = Prisma.AffirmationCategoryModel diff --git a/src/lib/generated/prisma/commonInputTypes.ts b/src/lib/generated/prisma/commonInputTypes.ts new file mode 100644 index 0000000..c4fcee8 --- /dev/null +++ b/src/lib/generated/prisma/commonInputTypes.ts @@ -0,0 +1,449 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports various common sort, input & filter types that are not directly linked to a particular model. + * + * 🟢 You can import this file directly. + */ + +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> + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + mode?: Prisma.QueryMode + not?: Prisma.NestedStringFilter<$PrismaModel> | string +} + +export type BoolFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolFilter<$PrismaModel> | boolean +} + +export type StringNullableFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + mode?: Prisma.QueryMode + not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null +} + +export type DateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string +} + +export type IntNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null +} + +export type SortOrderInput = { + sort: Prisma.SortOrder + nulls?: Prisma.NullsOrder +} + +export type StringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + mode?: Prisma.QueryMode + not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedStringFilter<$PrismaModel> + _max?: Prisma.NestedStringFilter<$PrismaModel> +} + +export type BoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedBoolFilter<$PrismaModel> + _max?: Prisma.NestedBoolFilter<$PrismaModel> +} + +export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + mode?: Prisma.QueryMode + not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedStringNullableFilter<$PrismaModel> + _max?: Prisma.NestedStringNullableFilter<$PrismaModel> +} + +export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedDateTimeFilter<$PrismaModel> + _max?: Prisma.NestedDateTimeFilter<$PrismaModel> +} + +export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _sum?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedIntNullableFilter<$PrismaModel> + _max?: Prisma.NestedIntNullableFilter<$PrismaModel> +} + +export type DateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null +} + +export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> + _max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> +} + +export type IntFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntFilter<$PrismaModel> | number +} + +export type IntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedFloatFilter<$PrismaModel> + _sum?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedIntFilter<$PrismaModel> + _max?: Prisma.NestedIntFilter<$PrismaModel> +} + +export type FloatFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatFilter<$PrismaModel> | number +} + +export type FloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedFloatFilter<$PrismaModel> + _sum?: Prisma.NestedFloatFilter<$PrismaModel> + _min?: Prisma.NestedFloatFilter<$PrismaModel> + _max?: Prisma.NestedFloatFilter<$PrismaModel> +} + +export type NestedStringFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + not?: Prisma.NestedStringFilter<$PrismaModel> | string +} + +export type NestedBoolFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolFilter<$PrismaModel> | boolean +} + +export type NestedStringNullableFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null +} + +export type NestedDateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string +} + +export type NestedIntNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null +} + +export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedStringFilter<$PrismaModel> + _max?: Prisma.NestedStringFilter<$PrismaModel> +} + +export type NestedIntFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntFilter<$PrismaModel> | number +} + +export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedBoolFilter<$PrismaModel> + _max?: Prisma.NestedBoolFilter<$PrismaModel> +} + +export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedStringNullableFilter<$PrismaModel> + _max?: Prisma.NestedStringNullableFilter<$PrismaModel> +} + +export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedDateTimeFilter<$PrismaModel> + _max?: Prisma.NestedDateTimeFilter<$PrismaModel> +} + +export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _sum?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedIntNullableFilter<$PrismaModel> + _max?: Prisma.NestedIntNullableFilter<$PrismaModel> +} + +export type NestedFloatNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatNullableFilter<$PrismaModel> | number | null +} + +export type NestedDateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null +} + +export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> + _max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> +} + +export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedFloatFilter<$PrismaModel> + _sum?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedIntFilter<$PrismaModel> + _max?: Prisma.NestedIntFilter<$PrismaModel> +} + +export type NestedFloatFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatFilter<$PrismaModel> | number +} + +export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedFloatFilter<$PrismaModel> + _sum?: Prisma.NestedFloatFilter<$PrismaModel> + _min?: Prisma.NestedFloatFilter<$PrismaModel> + _max?: Prisma.NestedFloatFilter<$PrismaModel> +} + + diff --git a/src/lib/generated/prisma/enums.ts b/src/lib/generated/prisma/enums.ts new file mode 100644 index 0000000..043572d --- /dev/null +++ b/src/lib/generated/prisma/enums.ts @@ -0,0 +1,15 @@ + +/* !!! 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 is empty because there are no enums in the schema. +export {} diff --git a/src/lib/generated/prisma/internal/class.ts b/src/lib/generated/prisma/internal/class.ts new file mode 100644 index 0000000..f58f805 --- /dev/null +++ b/src/lib/generated/prisma/internal/class.ts @@ -0,0 +1,260 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * WARNING: This is an internal file that is subject to change! + * + * 🛑 Under no circumstances should you import this file directly! 🛑 + * + * 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.ts" + + +const config: runtime.GetPrismaClientConfig = { + "previewFeatures": [], + "clientVersion": "7.2.0", + "engineVersion": "0c8ef2ce45c83248ab3df073180d5eda9e8be7a3", + "activeProvider": "postgresql", + "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/lib/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id String @id\n name String\n email String\n emailVerified Boolean @default(false)\n image String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n roleId Int?\n role UserRole? @relation(fields: [roleId], references: [id])\n sessions Session[]\n accounts Account[]\n\n @@unique([email])\n @@map(\"user\")\n}\n\nmodel Session {\n id String @id\n expiresAt DateTime\n token String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n ipAddress String?\n userAgent String?\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([token])\n @@index([userId])\n @@map(\"session\")\n}\n\nmodel Account {\n id String @id\n accountId String\n providerId String\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n accessToken String?\n refreshToken String?\n idToken String?\n accessTokenExpiresAt DateTime?\n refreshTokenExpiresAt DateTime?\n scope String?\n password String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@map(\"account\")\n}\n\nmodel UserRole {\n id Int @id @default(autoincrement())\n name String\n users User[]\n}\n\nmodel Verification {\n id String @id\n identifier String\n value String\n expiresAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([identifier])\n @@map(\"verification\")\n}\n\nmodel Affirmation {\n id String @id @default(uuid())\n name String @unique\n content String @unique\n solfeggioFrequencyId Int\n solfeggioFrequency SolfeggioFrequency @relation(fields: [solfeggioFrequencyId], references: [id])\n categoryId Int\n category AffirmationCategory @relation(fields: [categoryId], references: [id])\n price Float @default(0.99)\n}\n\nmodel SolfeggioFrequency {\n id Int @id @default(autoincrement())\n name String @unique\n value Float @unique\n affirmations Affirmation[]\n}\n\nmodel AffirmationCategory {\n id Int @id @default(autoincrement())\n name String @unique\n affirmations Affirmation[]\n}\n", + "runtimeDataModel": { + "models": {}, + "enums": {}, + "types": {} + } +} + +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"roleId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"Session\",\"relationName\":\"SessionToUser\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"}],\"dbName\":\"user\"},\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SessionToUser\"}],\"dbName\":\"session\"},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"},{\"name\":\"accessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refreshToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"idToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"account\"},\"UserRole\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserRole\"}],\"dbName\":null},\"Verification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"verification\"},\"Affirmation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solfeggioFrequencyId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"solfeggioFrequency\",\"kind\":\"object\",\"type\":\"SolfeggioFrequency\",\"relationName\":\"AffirmationToSolfeggioFrequency\"},{\"name\":\"categoryId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"category\",\"kind\":\"object\",\"type\":\"AffirmationCategory\",\"relationName\":\"AffirmationToAffirmationCategory\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":null},\"SolfeggioFrequency\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"affirmations\",\"kind\":\"object\",\"type\":\"Affirmation\",\"relationName\":\"AffirmationToSolfeggioFrequency\"}],\"dbName\":null},\"AffirmationCategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"affirmations\",\"kind\":\"object\",\"type\":\"Affirmation\",\"relationName\":\"AffirmationToAffirmationCategory\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") + +async function decodeBase64AsWasm(wasmBase64: string): Promise { + const { Buffer } = await import('node:buffer') + const wasmArray = Buffer.from(wasmBase64, 'base64') + return new WebAssembly.Module(wasmArray) +} + +config.compilerWasm = { + getRuntime: async () => await import("@prisma/client/runtime/query_compiler_bg.postgresql.mjs"), + + getQueryCompilerWasmModule: async () => { + const { wasm } = await import("@prisma/client/runtime/query_compiler_bg.postgresql.wasm-base64.mjs") + return await decodeBase64AsWasm(wasm) + } +} + + + +export type LogOptions = + 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never + +export interface PrismaClientConstructor { + /** + * ## Prisma Client + * + * Type-safe database client for TypeScript + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Users + * const users = await prisma.user.findMany() + * ``` + * + * Read more in our [docs](https://pris.ly/d/client). + */ + + 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 +} + +/** + * ## Prisma Client + * + * Type-safe database client for TypeScript + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Users + * const users = await prisma.user.findMany() + * ``` + * + * Read more in our [docs](https://pris.ly/d/client). + */ + +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 +> { + [K: symbol]: { types: Prisma.TypeMap['other'] } + + $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient; + + /** + * Connect with the database + */ + $connect(): runtime.Types.Utils.JsPromise; + + /** + * Disconnect from the database + */ + $disconnect(): runtime.Types.Utils.JsPromise; + +/** + * Executes a prepared raw query and returns the number of affected rows. + * @example + * ``` + * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` + * ``` + * + * Read more in our [docs](https://pris.ly/d/raw-queries). + */ + $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * Executes a raw query and returns the number of affected rows. + * Susceptible to SQL injections, see documentation. + * @example + * ``` + * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') + * ``` + * + * Read more in our [docs](https://pris.ly/d/raw-queries). + */ + $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + /** + * Performs a prepared raw query and returns the `SELECT` data. + * @example + * ``` + * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` + * ``` + * + * Read more in our [docs](https://pris.ly/d/raw-queries). + */ + $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * Performs a raw query and returns the `SELECT` data. + * Susceptible to SQL injections, see documentation. + * @example + * ``` + * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') + * ``` + * + * Read more in our [docs](https://pris.ly/d/raw-queries). + */ + $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. + * @example + * ``` + * const [george, bob, alice] = await prisma.$transaction([ + * prisma.user.create({ data: { name: 'George' } }), + * prisma.user.create({ data: { name: 'Bob' } }), + * prisma.user.create({ data: { name: 'Alice' } }), + * ]) + * ``` + * + * 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(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, { + extArgs: ExtArgs + }>> + + /** + * `prisma.user`: Exposes CRUD operations for the **User** model. + * Example usage: + * ```ts + * // Fetch zero or more Users + * const users = await prisma.user.findMany() + * ``` + */ + get user(): Prisma.UserDelegate; + + /** + * `prisma.session`: Exposes CRUD operations for the **Session** model. + * Example usage: + * ```ts + * // Fetch zero or more Sessions + * const sessions = await prisma.session.findMany() + * ``` + */ + get session(): Prisma.SessionDelegate; + + /** + * `prisma.account`: Exposes CRUD operations for the **Account** model. + * Example usage: + * ```ts + * // Fetch zero or more Accounts + * const accounts = await prisma.account.findMany() + * ``` + */ + get account(): Prisma.AccountDelegate; + + /** + * `prisma.userRole`: Exposes CRUD operations for the **UserRole** model. + * Example usage: + * ```ts + * // Fetch zero or more UserRoles + * const userRoles = await prisma.userRole.findMany() + * ``` + */ + get userRole(): Prisma.UserRoleDelegate; + + /** + * `prisma.verification`: Exposes CRUD operations for the **Verification** model. + * Example usage: + * ```ts + * // Fetch zero or more Verifications + * const verifications = await prisma.verification.findMany() + * ``` + */ + get verification(): Prisma.VerificationDelegate; + + /** + * `prisma.affirmation`: Exposes CRUD operations for the **Affirmation** model. + * Example usage: + * ```ts + * // Fetch zero or more Affirmations + * const affirmations = await prisma.affirmation.findMany() + * ``` + */ + get affirmation(): Prisma.AffirmationDelegate; + + /** + * `prisma.solfeggioFrequency`: Exposes CRUD operations for the **SolfeggioFrequency** model. + * Example usage: + * ```ts + * // Fetch zero or more SolfeggioFrequencies + * const solfeggioFrequencies = await prisma.solfeggioFrequency.findMany() + * ``` + */ + get solfeggioFrequency(): Prisma.SolfeggioFrequencyDelegate; + + /** + * `prisma.affirmationCategory`: Exposes CRUD operations for the **AffirmationCategory** model. + * Example usage: + * ```ts + * // Fetch zero or more AffirmationCategories + * const affirmationCategories = await prisma.affirmationCategory.findMany() + * ``` + */ + get affirmationCategory(): Prisma.AffirmationCategoryDelegate; +} + +export function getPrismaClientClass(): PrismaClientConstructor { + return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor +} diff --git a/src/lib/generated/prisma/internal/prismaNamespace.ts b/src/lib/generated/prisma/internal/prismaNamespace.ts new file mode 100644 index 0000000..13f0735 --- /dev/null +++ b/src/lib/generated/prisma/internal/prismaNamespace.ts @@ -0,0 +1,1398 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * WARNING: This is an internal file that is subject to change! + * + * 🛑 Under no circumstances should you import this file directly! 🛑 + * + * All exports from this file are wrapped under a `Prisma` namespace object in the client.ts file. + * While this enables partial backward compatibility, it is not part of the stable public API. + * + * If you are looking for your Models, Enums, and Input Types, please import them from the respective + * model files in the `model` directory! + */ + +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.ts' + +export type DMMF = typeof runtime.DMMF + +export type PrismaPromise = runtime.Types.Public.PrismaPromise + +/** + * Prisma Errors + */ + +export const PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError +export type PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError + +export const PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError +export type PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError + +export const PrismaClientRustPanicError = runtime.PrismaClientRustPanicError +export type PrismaClientRustPanicError = runtime.PrismaClientRustPanicError + +export const PrismaClientInitializationError = runtime.PrismaClientInitializationError +export type PrismaClientInitializationError = runtime.PrismaClientInitializationError + +export const PrismaClientValidationError = runtime.PrismaClientValidationError +export type PrismaClientValidationError = runtime.PrismaClientValidationError + +/** + * Re-export of sql-template-tag + */ +export const sql = runtime.sqltag +export const empty = runtime.empty +export const join = runtime.join +export const raw = runtime.raw +export const Sql = runtime.Sql +export type Sql = runtime.Sql + + + +/** + * Decimal.js + */ +export const Decimal = runtime.Decimal +export type Decimal = runtime.Decimal + +export type DecimalJsLike = runtime.DecimalJsLike + +/** +* Extensions +*/ +export type Extension = runtime.Types.Extensions.UserArgs +export const getExtensionContext = runtime.Extensions.getExtensionContext +export type Args = runtime.Types.Public.Args +export type Payload = runtime.Types.Public.Payload +export type Result = runtime.Types.Public.Result +export type Exact = runtime.Types.Public.Exact + +export type PrismaVersion = { + client: string + engine: string +} + +/** + * Prisma Client JS version: 7.2.0 + * Query Engine version: 0c8ef2ce45c83248ab3df073180d5eda9e8be7a3 + */ +export const prismaVersion: PrismaVersion = { + client: "7.2.0", + engine: "0c8ef2ce45c83248ab3df073180d5eda9e8be7a3" +} + +/** + * Utility Types + */ + +export type Bytes = runtime.Bytes +export type JsonObject = runtime.JsonObject +export type JsonArray = runtime.JsonArray +export type JsonValue = runtime.JsonValue +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), +} +/** + * Helper for filtering JSON entries that have `null` on the database (empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ +export const DbNull = runtime.DbNull + +/** + * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ +export const JsonNull = runtime.JsonNull + +/** + * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ +export const AnyNull = runtime.AnyNull + + +type SelectAndInclude = { + select: any + include: any +} + +type SelectAndOmit = { + select: any + omit: any +} + +/** + * From T, pick a set of properties whose keys are in the union K + */ +type Prisma__Pick = { + [P in K]: T[P]; +}; + +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; +}; + +/** + * SelectSubset + * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. + * Additionally, it validates, if both select and include are present. If the case, it errors. + */ +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`.' + : {}) + +/** + * Subset + Intersection + * @desc From `T` pick properties that exist in `U` and intersect `K` + */ +export type SubsetIntersection = { + [key in keyof T]: key extends keyof U ? T[key] : never +} & + K + +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 + + +/** + * 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 + + +/** + * If it's T[], return T + */ +export type UnEnumerate = T extends Array ? U : T + +/** + * From ts-toolbelt + */ + +type __Either = Omit & + { + // Merge all but K + [P in K]: Prisma__Pick // With K possibilities + }[K] + +type EitherStrict = Strict<__Either> + +type EitherLoose = ComputeRaw<__Either> + +type _Either< + O extends object, + K extends Key, + strict extends Boolean +> = { + 1: EitherStrict + 0: EitherLoose +}[strict] + +export type Either< + O extends object, + K extends Key, + strict extends Boolean = 1 +> = O extends unknown ? _Either : never + +export type Union = any + +export type PatchUndefined = { + [K in keyof O]: O[K] extends undefined ? At : O[K] +} & {} + +/** Helper Types for "Merge" **/ +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]; +} & {}; + +type _Merge = IntersectOf; +}>>; + +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]; + +export type ComputeRaw = A extends Function ? A : { + [K in keyof A]: A[K]; +} & {}; + +export type OptionalFlat = { + [K in keyof O]?: O[K]; +} & {}; + +type _Record = { + [P in K]: T; +}; + +// cause typescript not to expand types and preserve names +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>; + +type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; + +export type Strict = ComputeRaw<_Strict>; +/** End Helper Types for "Merge" **/ + +export type Merge = ComputeRaw<_Merge>>; + +export type Boolean = True | False + +export type True = 1 + +export type False = 0 + +export type Not = { + 0: 1 + 1: 0 +}[B] + +export type Extends = [A1] extends [never] + ? 0 // anything `never` is false + : A1 extends A2 + ? 1 + : 0 + +export type Has = Not< + Extends, U1> +> + +export type Or = { + 0: { + 0: 0 + 1: 1 + } + 1: { + 0: 1 + 1: 1 + } +}[B1][B2] + +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 + +type FieldPaths< + T, + U = Omit +> = IsObject extends True ? U : T + +export type GetHavingFields = { + [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 + T[K] extends infer TK + ? GetHavingFields extends object ? Merge> : never> + : never + : {} extends FieldPaths + ? never + : K +}[keyof T] + +/** + * Convert tuple to union + */ +type _TupleToUnion = T extends (infer E)[] ? E : never +type TupleToUnion = _TupleToUnion +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> + +/** + * 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 = { + User: 'User', + Session: 'Session', + Account: 'Account', + UserRole: 'UserRole', + Verification: 'Verification', + Affirmation: 'Affirmation', + SolfeggioFrequency: 'SolfeggioFrequency', + AffirmationCategory: 'AffirmationCategory' +} 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> { + returns: TypeMap +} + +export type TypeMap = { + globalOmitOptions: { + omit: GlobalOmitOptions + } + meta: { + modelProps: "user" | "session" | "account" | "userRole" | "verification" | "affirmation" | "solfeggioFrequency" | "affirmationCategory" + txIsolationLevel: TransactionIsolationLevel + } + model: { + User: { + payload: Prisma.$UserPayload + fields: Prisma.UserFieldRefs + operations: { + findUnique: { + args: Prisma.UserFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.UserFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.UserFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.UserFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.UserFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.UserCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.UserCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.UserCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.UserDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.UserUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.UserDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.UserUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UserUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.UserUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.UserAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.UserGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.UserCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Session: { + payload: Prisma.$SessionPayload + fields: Prisma.SessionFieldRefs + operations: { + findUnique: { + args: Prisma.SessionFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.SessionFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.SessionFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.SessionFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.SessionFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.SessionCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.SessionCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.SessionCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.SessionDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.SessionUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.SessionDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.SessionUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.SessionUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.SessionUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.SessionAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.SessionGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.SessionCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Account: { + payload: Prisma.$AccountPayload + fields: Prisma.AccountFieldRefs + operations: { + findUnique: { + args: Prisma.AccountFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.AccountFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.AccountFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.AccountFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.AccountFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.AccountCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.AccountCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.AccountCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.AccountDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.AccountUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.AccountDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.AccountUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AccountUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.AccountUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.AccountAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.AccountGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.AccountCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + UserRole: { + payload: Prisma.$UserRolePayload + fields: Prisma.UserRoleFieldRefs + operations: { + findUnique: { + args: Prisma.UserRoleFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.UserRoleFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.UserRoleFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.UserRoleFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.UserRoleFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.UserRoleCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.UserRoleCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.UserRoleCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.UserRoleDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.UserRoleUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.UserRoleDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.UserRoleUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UserRoleUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.UserRoleUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.UserRoleAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.UserRoleGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.UserRoleCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Verification: { + payload: Prisma.$VerificationPayload + fields: Prisma.VerificationFieldRefs + operations: { + findUnique: { + args: Prisma.VerificationFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.VerificationFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.VerificationFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.VerificationFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.VerificationFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.VerificationCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.VerificationCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.VerificationCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.VerificationDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.VerificationUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.VerificationDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.VerificationUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.VerificationUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.VerificationUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.VerificationAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.VerificationGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.VerificationCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Affirmation: { + payload: Prisma.$AffirmationPayload + fields: Prisma.AffirmationFieldRefs + operations: { + findUnique: { + args: Prisma.AffirmationFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.AffirmationFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.AffirmationFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.AffirmationFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.AffirmationFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.AffirmationCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.AffirmationCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.AffirmationCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.AffirmationDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.AffirmationUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.AffirmationDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.AffirmationUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AffirmationUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.AffirmationUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.AffirmationAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.AffirmationGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.AffirmationCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + SolfeggioFrequency: { + payload: Prisma.$SolfeggioFrequencyPayload + fields: Prisma.SolfeggioFrequencyFieldRefs + operations: { + findUnique: { + args: Prisma.SolfeggioFrequencyFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.SolfeggioFrequencyFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.SolfeggioFrequencyFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.SolfeggioFrequencyFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.SolfeggioFrequencyFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.SolfeggioFrequencyCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.SolfeggioFrequencyCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.SolfeggioFrequencyCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.SolfeggioFrequencyDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.SolfeggioFrequencyUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.SolfeggioFrequencyDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.SolfeggioFrequencyUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.SolfeggioFrequencyUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.SolfeggioFrequencyUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.SolfeggioFrequencyAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.SolfeggioFrequencyGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.SolfeggioFrequencyCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + AffirmationCategory: { + payload: Prisma.$AffirmationCategoryPayload + fields: Prisma.AffirmationCategoryFieldRefs + operations: { + findUnique: { + args: Prisma.AffirmationCategoryFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.AffirmationCategoryFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.AffirmationCategoryFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.AffirmationCategoryFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.AffirmationCategoryFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.AffirmationCategoryCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.AffirmationCategoryCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.AffirmationCategoryCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.AffirmationCategoryDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.AffirmationCategoryUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.AffirmationCategoryDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.AffirmationCategoryUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AffirmationCategoryUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.AffirmationCategoryUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.AffirmationCategoryAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.AffirmationCategoryGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.AffirmationCategoryCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + } +} & { + other: { + payload: any + operations: { + $executeRaw: { + args: [query: TemplateStringsArray | Sql, ...values: any[]], + result: any + } + $executeRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + $queryRaw: { + args: [query: TemplateStringsArray | Sql, ...values: any[]], + result: any + } + $queryRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + } + } +} + +/** + * Enums + */ + +export const TransactionIsolationLevel = runtime.makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +} as const) + +export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + + +export const UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + emailVerified: 'emailVerified', + image: 'image', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + roleId: 'roleId' +} as const + +export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + + +export const SessionScalarFieldEnum = { + id: 'id', + expiresAt: 'expiresAt', + token: 'token', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + ipAddress: 'ipAddress', + userAgent: 'userAgent', + userId: 'userId' +} as const + +export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] + + +export const AccountScalarFieldEnum = { + id: 'id', + accountId: 'accountId', + providerId: 'providerId', + userId: 'userId', + accessToken: 'accessToken', + refreshToken: 'refreshToken', + idToken: 'idToken', + accessTokenExpiresAt: 'accessTokenExpiresAt', + refreshTokenExpiresAt: 'refreshTokenExpiresAt', + scope: 'scope', + password: 'password', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] + + +export const UserRoleScalarFieldEnum = { + id: 'id', + name: 'name' +} as const + +export type UserRoleScalarFieldEnum = (typeof UserRoleScalarFieldEnum)[keyof typeof UserRoleScalarFieldEnum] + + +export const VerificationScalarFieldEnum = { + id: 'id', + identifier: 'identifier', + value: 'value', + expiresAt: 'expiresAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type VerificationScalarFieldEnum = (typeof VerificationScalarFieldEnum)[keyof typeof VerificationScalarFieldEnum] + + +export const AffirmationScalarFieldEnum = { + id: 'id', + name: 'name', + content: 'content', + solfeggioFrequencyId: 'solfeggioFrequencyId', + categoryId: 'categoryId', + price: 'price' +} as const + +export type AffirmationScalarFieldEnum = (typeof AffirmationScalarFieldEnum)[keyof typeof AffirmationScalarFieldEnum] + + +export const SolfeggioFrequencyScalarFieldEnum = { + id: 'id', + name: 'name', + value: 'value' +} as const + +export type SolfeggioFrequencyScalarFieldEnum = (typeof SolfeggioFrequencyScalarFieldEnum)[keyof typeof SolfeggioFrequencyScalarFieldEnum] + + +export const AffirmationCategoryScalarFieldEnum = { + id: 'id', + name: 'name' +} as const + +export type AffirmationCategoryScalarFieldEnum = (typeof AffirmationCategoryScalarFieldEnum)[keyof typeof AffirmationCategoryScalarFieldEnum] + + +export const SortOrder = { + asc: 'asc', + desc: 'desc' +} as const + +export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + +export const QueryMode = { + default: 'default', + insensitive: 'insensitive' +} as const + +export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] + + +export const NullsOrder = { + first: 'first', + 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 'String[]' + */ +export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'> + + + +/** + * Reference to a field of type 'Boolean' + */ +export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> + + + +/** + * Reference to a field of type 'DateTime' + */ +export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> + + + +/** + * Reference to a field of type 'DateTime[]' + */ +export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> + + + +/** + * Reference to a field of type 'Int' + */ +export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> + + + +/** + * Reference to a field of type 'Int[]' + */ +export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'> + + + +/** + * Reference to a field of type 'Float' + */ +export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> + + + +/** + * Reference to a field of type 'Float[]' + */ +export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> + + +/** + * Batch Payload for updateMany & deleteMany & createMany + */ +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 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 +}) & { + /** + * @default "colorless" + */ + errorFormat?: ErrorFormat + /** + * @example + * ``` + * // Shorthand for `emit: 'stdout'` + * log: ['query', 'info', 'warn', 'error'] + * + * // Emit as events only + * log: [ + * { emit: 'event', level: 'query' }, + * { emit: 'event', level: 'info' }, + * { emit: 'event', level: 'warn' } + * { emit: 'event', level: 'error' } + * ] + * + * / Emit as events and log to stdout + * og: [ + * { emit: 'stdout', level: 'query' }, + * { emit: 'stdout', level: 'info' }, + * { emit: 'stdout', level: 'warn' } + * { emit: 'stdout', level: 'error' } + * + * ``` + * Read more in our [docs](https://pris.ly/d/logging). + */ + log?: (LogLevel | LogDefinition)[] + /** + * The default values for transactionOptions + * maxWait ?= 2000 + * timeout ?= 5000 + */ + transactionOptions?: { + maxWait?: number + timeout?: number + isolationLevel?: TransactionIsolationLevel + } + /** + * Global configuration for omitting model fields by default. + * + * @example + * ``` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * ``` + */ + omit?: GlobalOmitConfig + /** + * SQL commenter plugins that add metadata to SQL queries as comments. + * Comments follow the sqlcommenter format: https://google.github.io/sqlcommenter/ + * + * @example + * ``` + * const prisma = new PrismaClient({ + * adapter, + * comments: [ + * traceContext(), + * queryInsights(), + * ], + * }) + * ``` + */ + comments?: runtime.SqlCommenterPlugin[] +} +export type GlobalOmitConfig = { + user?: Prisma.UserOmit + session?: Prisma.SessionOmit + account?: Prisma.AccountOmit + userRole?: Prisma.UserRoleOmit + verification?: Prisma.VerificationOmit + affirmation?: Prisma.AffirmationOmit + solfeggioFrequency?: Prisma.SolfeggioFrequencyOmit + affirmationCategory?: Prisma.AffirmationCategoryOmit +} + +/* Types for Logging */ +export type LogLevel = 'info' | 'query' | 'warn' | 'error' +export type LogDefinition = { + level: LogLevel + emit: 'stdout' | 'event' +} + +export type CheckIsLogLevel = T extends LogLevel ? T : never; + +export type GetLogType = CheckIsLogLevel< + T extends LogDefinition ? T['level'] : T +>; + +export type GetEvents = T extends Array + ? GetLogType + : never; + +export type QueryEvent = { + timestamp: Date + query: string + params: string + duration: number + target: string +} + +export type LogEvent = { + timestamp: Date + message: string + target: string +} +/* End Types for Logging */ + + +export type PrismaAction = + | 'findUnique' + | 'findUniqueOrThrow' + | 'findMany' + | 'findFirst' + | 'findFirstOrThrow' + | 'create' + | 'createMany' + | 'createManyAndReturn' + | 'update' + | 'updateMany' + | 'updateManyAndReturn' + | 'upsert' + | 'delete' + | 'deleteMany' + | 'executeRaw' + | 'queryRaw' + | 'aggregate' + | 'count' + | 'runCommandRaw' + | 'findRaw' + | 'groupBy' + +/** + * `PrismaClient` proxy available in interactive transactions. + */ +export type TransactionClient = Omit + diff --git a/src/lib/generated/prisma/internal/prismaNamespaceBrowser.ts b/src/lib/generated/prisma/internal/prismaNamespaceBrowser.ts new file mode 100644 index 0000000..95085f5 --- /dev/null +++ b/src/lib/generated/prisma/internal/prismaNamespaceBrowser.ts @@ -0,0 +1,198 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * WARNING: This is an internal file that is subject to change! + * + * 🛑 Under no circumstances should you import this file directly! 🛑 + * + * All exports from this file are wrapped under a `Prisma` namespace object in the browser.ts file. + * While this enables partial backward compatibility, it is not part of the stable public API. + * + * If you are looking for your Models, Enums, and Input Types, please import them from the respective + * model files in the `model` directory! + */ + +import * as runtime from "@prisma/client/runtime/index-browser" + +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), +} +/** + * Helper for filtering JSON entries that have `null` on the database (empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ +export const DbNull = runtime.DbNull + +/** + * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ +export const JsonNull = runtime.JsonNull + +/** + * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ +export const AnyNull = runtime.AnyNull + + +export const ModelName = { + User: 'User', + Session: 'Session', + Account: 'Account', + UserRole: 'UserRole', + Verification: 'Verification', + Affirmation: 'Affirmation', + SolfeggioFrequency: 'SolfeggioFrequency', + AffirmationCategory: 'AffirmationCategory' +} as const + +export type ModelName = (typeof ModelName)[keyof typeof ModelName] + +/* + * Enums + */ + +export const TransactionIsolationLevel = { + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +} as const + +export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + + +export const UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + emailVerified: 'emailVerified', + image: 'image', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + roleId: 'roleId' +} as const + +export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + + +export const SessionScalarFieldEnum = { + id: 'id', + expiresAt: 'expiresAt', + token: 'token', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + ipAddress: 'ipAddress', + userAgent: 'userAgent', + userId: 'userId' +} as const + +export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] + + +export const AccountScalarFieldEnum = { + id: 'id', + accountId: 'accountId', + providerId: 'providerId', + userId: 'userId', + accessToken: 'accessToken', + refreshToken: 'refreshToken', + idToken: 'idToken', + accessTokenExpiresAt: 'accessTokenExpiresAt', + refreshTokenExpiresAt: 'refreshTokenExpiresAt', + scope: 'scope', + password: 'password', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] + + +export const UserRoleScalarFieldEnum = { + id: 'id', + name: 'name' +} as const + +export type UserRoleScalarFieldEnum = (typeof UserRoleScalarFieldEnum)[keyof typeof UserRoleScalarFieldEnum] + + +export const VerificationScalarFieldEnum = { + id: 'id', + identifier: 'identifier', + value: 'value', + expiresAt: 'expiresAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type VerificationScalarFieldEnum = (typeof VerificationScalarFieldEnum)[keyof typeof VerificationScalarFieldEnum] + + +export const AffirmationScalarFieldEnum = { + id: 'id', + name: 'name', + content: 'content', + solfeggioFrequencyId: 'solfeggioFrequencyId', + categoryId: 'categoryId', + price: 'price' +} as const + +export type AffirmationScalarFieldEnum = (typeof AffirmationScalarFieldEnum)[keyof typeof AffirmationScalarFieldEnum] + + +export const SolfeggioFrequencyScalarFieldEnum = { + id: 'id', + name: 'name', + value: 'value' +} as const + +export type SolfeggioFrequencyScalarFieldEnum = (typeof SolfeggioFrequencyScalarFieldEnum)[keyof typeof SolfeggioFrequencyScalarFieldEnum] + + +export const AffirmationCategoryScalarFieldEnum = { + id: 'id', + name: 'name' +} as const + +export type AffirmationCategoryScalarFieldEnum = (typeof AffirmationCategoryScalarFieldEnum)[keyof typeof AffirmationCategoryScalarFieldEnum] + + +export const SortOrder = { + asc: 'asc', + desc: 'desc' +} as const + +export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + +export const QueryMode = { + default: 'default', + insensitive: 'insensitive' +} as const + +export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] + + +export const NullsOrder = { + first: 'first', + last: 'last' +} as const + +export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] + diff --git a/src/lib/generated/prisma/models.ts b/src/lib/generated/prisma/models.ts new file mode 100644 index 0000000..7bcd14b --- /dev/null +++ b/src/lib/generated/prisma/models.ts @@ -0,0 +1,19 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This is a barrel export file for all models and their related types. + * + * 🟢 You can import this file directly. + */ +export type * from './models/User.ts' +export type * from './models/Session.ts' +export type * from './models/Account.ts' +export type * from './models/UserRole.ts' +export type * from './models/Verification.ts' +export type * from './models/Affirmation.ts' +export type * from './models/SolfeggioFrequency.ts' +export type * from './models/AffirmationCategory.ts' +export type * from './commonInputTypes.ts' \ No newline at end of file diff --git a/src/lib/generated/prisma/models/Account.ts b/src/lib/generated/prisma/models/Account.ts new file mode 100644 index 0000000..28f3b06 --- /dev/null +++ b/src/lib/generated/prisma/models/Account.ts @@ -0,0 +1,1624 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Account` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model Account + * + */ +export type AccountModel = runtime.Types.Result.DefaultSelection + +export type AggregateAccount = { + _count: AccountCountAggregateOutputType | null + _min: AccountMinAggregateOutputType | null + _max: AccountMaxAggregateOutputType | null +} + +export type AccountMinAggregateOutputType = { + id: string | null + accountId: string | null + providerId: string | null + userId: string | null + accessToken: string | null + refreshToken: string | null + idToken: string | null + accessTokenExpiresAt: Date | null + refreshTokenExpiresAt: Date | null + scope: string | null + password: string | null + createdAt: Date | null + updatedAt: Date | null +} + +export type AccountMaxAggregateOutputType = { + id: string | null + accountId: string | null + providerId: string | null + userId: string | null + accessToken: string | null + refreshToken: string | null + idToken: string | null + accessTokenExpiresAt: Date | null + refreshTokenExpiresAt: Date | null + scope: string | null + password: string | null + createdAt: Date | null + updatedAt: Date | null +} + +export type AccountCountAggregateOutputType = { + id: number + accountId: number + providerId: number + userId: number + accessToken: number + refreshToken: number + idToken: number + accessTokenExpiresAt: number + refreshTokenExpiresAt: number + scope: number + password: number + createdAt: number + updatedAt: number + _all: number +} + + +export type AccountMinAggregateInputType = { + id?: true + accountId?: true + providerId?: true + userId?: true + accessToken?: true + refreshToken?: true + idToken?: true + accessTokenExpiresAt?: true + refreshTokenExpiresAt?: true + scope?: true + password?: true + createdAt?: true + updatedAt?: true +} + +export type AccountMaxAggregateInputType = { + id?: true + accountId?: true + providerId?: true + userId?: true + accessToken?: true + refreshToken?: true + idToken?: true + accessTokenExpiresAt?: true + refreshTokenExpiresAt?: true + scope?: true + password?: true + createdAt?: true + updatedAt?: true +} + +export type AccountCountAggregateInputType = { + id?: true + accountId?: true + providerId?: true + userId?: true + accessToken?: true + refreshToken?: true + idToken?: true + accessTokenExpiresAt?: true + refreshTokenExpiresAt?: true + scope?: true + password?: true + createdAt?: true + updatedAt?: true + _all?: true +} + +export type AccountAggregateArgs = { + /** + * Filter which Account to aggregate. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Accounts + **/ + _count?: true | AccountCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: AccountMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: AccountMaxAggregateInputType +} + +export type GetAccountAggregateType = { + [P in keyof T & keyof AggregateAccount]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type AccountGroupByArgs = { + where?: Prisma.AccountWhereInput + orderBy?: Prisma.AccountOrderByWithAggregationInput | Prisma.AccountOrderByWithAggregationInput[] + by: Prisma.AccountScalarFieldEnum[] | Prisma.AccountScalarFieldEnum + having?: Prisma.AccountScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: AccountCountAggregateInputType | true + _min?: AccountMinAggregateInputType + _max?: AccountMaxAggregateInputType +} + +export type AccountGroupByOutputType = { + id: string + accountId: string + providerId: string + userId: string + accessToken: string | null + refreshToken: string | null + idToken: string | null + accessTokenExpiresAt: Date | null + refreshTokenExpiresAt: Date | null + scope: string | null + password: string | null + createdAt: Date + updatedAt: Date + _count: AccountCountAggregateOutputType | null + _min: AccountMinAggregateOutputType | null + _max: AccountMaxAggregateOutputType | null +} + +type GetAccountGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof AccountGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type AccountWhereInput = { + AND?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + OR?: Prisma.AccountWhereInput[] + NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + id?: Prisma.StringFilter<"Account"> | string + accountId?: Prisma.StringFilter<"Account"> | string + providerId?: Prisma.StringFilter<"Account"> | string + userId?: Prisma.StringFilter<"Account"> | string + accessToken?: Prisma.StringNullableFilter<"Account"> | string | null + refreshToken?: Prisma.StringNullableFilter<"Account"> | string | null + idToken?: Prisma.StringNullableFilter<"Account"> | string | null + accessTokenExpiresAt?: Prisma.DateTimeNullableFilter<"Account"> | Date | string | null + refreshTokenExpiresAt?: Prisma.DateTimeNullableFilter<"Account"> | Date | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + password?: Prisma.StringNullableFilter<"Account"> | string | null + createdAt?: Prisma.DateTimeFilter<"Account"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Account"> | Date | string + user?: Prisma.XOR +} + +export type AccountOrderByWithRelationInput = { + id?: Prisma.SortOrder + accountId?: Prisma.SortOrder + providerId?: Prisma.SortOrder + userId?: Prisma.SortOrder + accessToken?: Prisma.SortOrderInput | Prisma.SortOrder + refreshToken?: Prisma.SortOrderInput | Prisma.SortOrder + idToken?: Prisma.SortOrderInput | Prisma.SortOrder + accessTokenExpiresAt?: Prisma.SortOrderInput | Prisma.SortOrder + refreshTokenExpiresAt?: Prisma.SortOrderInput | Prisma.SortOrder + scope?: Prisma.SortOrderInput | Prisma.SortOrder + password?: Prisma.SortOrderInput | Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput +} + +export type AccountWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + OR?: Prisma.AccountWhereInput[] + NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + accountId?: Prisma.StringFilter<"Account"> | string + providerId?: Prisma.StringFilter<"Account"> | string + userId?: Prisma.StringFilter<"Account"> | string + accessToken?: Prisma.StringNullableFilter<"Account"> | string | null + refreshToken?: Prisma.StringNullableFilter<"Account"> | string | null + idToken?: Prisma.StringNullableFilter<"Account"> | string | null + accessTokenExpiresAt?: Prisma.DateTimeNullableFilter<"Account"> | Date | string | null + refreshTokenExpiresAt?: Prisma.DateTimeNullableFilter<"Account"> | Date | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + password?: Prisma.StringNullableFilter<"Account"> | string | null + createdAt?: Prisma.DateTimeFilter<"Account"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Account"> | Date | string + user?: Prisma.XOR +}, "id"> + +export type AccountOrderByWithAggregationInput = { + id?: Prisma.SortOrder + accountId?: Prisma.SortOrder + providerId?: Prisma.SortOrder + userId?: Prisma.SortOrder + accessToken?: Prisma.SortOrderInput | Prisma.SortOrder + refreshToken?: Prisma.SortOrderInput | Prisma.SortOrder + idToken?: Prisma.SortOrderInput | Prisma.SortOrder + accessTokenExpiresAt?: Prisma.SortOrderInput | Prisma.SortOrder + refreshTokenExpiresAt?: Prisma.SortOrderInput | Prisma.SortOrder + scope?: Prisma.SortOrderInput | Prisma.SortOrder + password?: Prisma.SortOrderInput | Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + _count?: Prisma.AccountCountOrderByAggregateInput + _max?: Prisma.AccountMaxOrderByAggregateInput + _min?: Prisma.AccountMinOrderByAggregateInput +} + +export type AccountScalarWhereWithAggregatesInput = { + AND?: Prisma.AccountScalarWhereWithAggregatesInput | Prisma.AccountScalarWhereWithAggregatesInput[] + OR?: Prisma.AccountScalarWhereWithAggregatesInput[] + NOT?: Prisma.AccountScalarWhereWithAggregatesInput | Prisma.AccountScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Account"> | string + accountId?: Prisma.StringWithAggregatesFilter<"Account"> | string + providerId?: Prisma.StringWithAggregatesFilter<"Account"> | string + userId?: Prisma.StringWithAggregatesFilter<"Account"> | string + accessToken?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + refreshToken?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + idToken?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + accessTokenExpiresAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Account"> | Date | string | null + refreshTokenExpiresAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Account"> | Date | string | null + scope?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + password?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Account"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Account"> | Date | string +} + +export type AccountCreateInput = { + id: string + accountId: string + providerId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutAccountsInput +} + +export type AccountUncheckedCreateInput = { + id: string + accountId: string + providerId: string + userId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt?: Date | string + updatedAt?: Date | string +} + +export type AccountUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + accountId?: Prisma.StringFieldUpdateOperationsInput | string + providerId?: Prisma.StringFieldUpdateOperationsInput | string + accessToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + idToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutAccountsNestedInput +} + +export type AccountUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + accountId?: Prisma.StringFieldUpdateOperationsInput | string + providerId?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + accessToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + idToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type AccountCreateManyInput = { + id: string + accountId: string + providerId: string + userId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt?: Date | string + updatedAt?: Date | string +} + +export type AccountUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + accountId?: Prisma.StringFieldUpdateOperationsInput | string + providerId?: Prisma.StringFieldUpdateOperationsInput | string + accessToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + idToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type AccountUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + accountId?: Prisma.StringFieldUpdateOperationsInput | string + providerId?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + accessToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + idToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type AccountListRelationFilter = { + every?: Prisma.AccountWhereInput + some?: Prisma.AccountWhereInput + none?: Prisma.AccountWhereInput +} + +export type AccountOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type AccountCountOrderByAggregateInput = { + id?: Prisma.SortOrder + accountId?: Prisma.SortOrder + providerId?: Prisma.SortOrder + userId?: Prisma.SortOrder + accessToken?: Prisma.SortOrder + refreshToken?: Prisma.SortOrder + idToken?: Prisma.SortOrder + accessTokenExpiresAt?: Prisma.SortOrder + refreshTokenExpiresAt?: Prisma.SortOrder + scope?: Prisma.SortOrder + password?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type AccountMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + accountId?: Prisma.SortOrder + providerId?: Prisma.SortOrder + userId?: Prisma.SortOrder + accessToken?: Prisma.SortOrder + refreshToken?: Prisma.SortOrder + idToken?: Prisma.SortOrder + accessTokenExpiresAt?: Prisma.SortOrder + refreshTokenExpiresAt?: Prisma.SortOrder + scope?: Prisma.SortOrder + password?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type AccountMinOrderByAggregateInput = { + id?: Prisma.SortOrder + accountId?: Prisma.SortOrder + providerId?: Prisma.SortOrder + userId?: Prisma.SortOrder + accessToken?: Prisma.SortOrder + refreshToken?: Prisma.SortOrder + idToken?: Prisma.SortOrder + accessTokenExpiresAt?: Prisma.SortOrder + refreshTokenExpiresAt?: Prisma.SortOrder + scope?: Prisma.SortOrder + password?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type AccountCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] +} + +export type AccountUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] +} + +export type AccountUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + upsert?: Prisma.AccountUpsertWithWhereUniqueWithoutUserInput | Prisma.AccountUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + set?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + disconnect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + delete?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + update?: Prisma.AccountUpdateWithWhereUniqueWithoutUserInput | Prisma.AccountUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.AccountUpdateManyWithWhereWithoutUserInput | Prisma.AccountUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] +} + +export type AccountUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + upsert?: Prisma.AccountUpsertWithWhereUniqueWithoutUserInput | Prisma.AccountUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + set?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + disconnect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + delete?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + update?: Prisma.AccountUpdateWithWhereUniqueWithoutUserInput | Prisma.AccountUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.AccountUpdateManyWithWhereWithoutUserInput | Prisma.AccountUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] +} + +export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null +} + +export type AccountCreateWithoutUserInput = { + id: string + accountId: string + providerId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt?: Date | string + updatedAt?: Date | string +} + +export type AccountUncheckedCreateWithoutUserInput = { + id: string + accountId: string + providerId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt?: Date | string + updatedAt?: Date | string +} + +export type AccountCreateOrConnectWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + create: Prisma.XOR +} + +export type AccountCreateManyUserInputEnvelope = { + data: Prisma.AccountCreateManyUserInput | Prisma.AccountCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type AccountUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type AccountUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + data: Prisma.XOR +} + +export type AccountUpdateManyWithWhereWithoutUserInput = { + where: Prisma.AccountScalarWhereInput + data: Prisma.XOR +} + +export type AccountScalarWhereInput = { + AND?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] + OR?: Prisma.AccountScalarWhereInput[] + NOT?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] + id?: Prisma.StringFilter<"Account"> | string + accountId?: Prisma.StringFilter<"Account"> | string + providerId?: Prisma.StringFilter<"Account"> | string + userId?: Prisma.StringFilter<"Account"> | string + accessToken?: Prisma.StringNullableFilter<"Account"> | string | null + refreshToken?: Prisma.StringNullableFilter<"Account"> | string | null + idToken?: Prisma.StringNullableFilter<"Account"> | string | null + accessTokenExpiresAt?: Prisma.DateTimeNullableFilter<"Account"> | Date | string | null + refreshTokenExpiresAt?: Prisma.DateTimeNullableFilter<"Account"> | Date | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + password?: Prisma.StringNullableFilter<"Account"> | string | null + createdAt?: Prisma.DateTimeFilter<"Account"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Account"> | Date | string +} + +export type AccountCreateManyUserInput = { + id: string + accountId: string + providerId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt?: Date | string + updatedAt?: Date | string +} + +export type AccountUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + accountId?: Prisma.StringFieldUpdateOperationsInput | string + providerId?: Prisma.StringFieldUpdateOperationsInput | string + accessToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + idToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type AccountUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + accountId?: Prisma.StringFieldUpdateOperationsInput | string + providerId?: Prisma.StringFieldUpdateOperationsInput | string + accessToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + idToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type AccountUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + accountId?: Prisma.StringFieldUpdateOperationsInput | string + providerId?: Prisma.StringFieldUpdateOperationsInput | string + accessToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + idToken?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + + +export type AccountSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + accountId?: boolean + providerId?: boolean + userId?: boolean + accessToken?: boolean + refreshToken?: boolean + idToken?: boolean + accessTokenExpiresAt?: boolean + refreshTokenExpiresAt?: boolean + scope?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + accountId?: boolean + providerId?: boolean + userId?: boolean + accessToken?: boolean + refreshToken?: boolean + idToken?: boolean + accessTokenExpiresAt?: boolean + refreshTokenExpiresAt?: boolean + scope?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + accountId?: boolean + providerId?: boolean + userId?: boolean + accessToken?: boolean + refreshToken?: boolean + idToken?: boolean + accessTokenExpiresAt?: boolean + refreshTokenExpiresAt?: boolean + scope?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectScalar = { + id?: boolean + accountId?: boolean + providerId?: boolean + userId?: boolean + accessToken?: boolean + refreshToken?: boolean + idToken?: boolean + accessTokenExpiresAt?: boolean + refreshTokenExpiresAt?: boolean + scope?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean +} + +export type AccountOmit = runtime.Types.Extensions.GetOmit<"id" | "accountId" | "providerId" | "userId" | "accessToken" | "refreshToken" | "idToken" | "accessTokenExpiresAt" | "refreshTokenExpiresAt" | "scope" | "password" | "createdAt" | "updatedAt", ExtArgs["result"]["account"]> +export type AccountInclude = { + user?: boolean | Prisma.UserDefaultArgs +} +export type AccountIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type AccountIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $AccountPayload = { + name: "Account" + objects: { + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + accountId: string + providerId: string + userId: string + accessToken: string | null + refreshToken: string | null + idToken: string | null + accessTokenExpiresAt: Date | null + refreshTokenExpiresAt: Date | null + scope: string | null + password: string | null + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["account"]> + composites: {} +} + +export type AccountGetPayload = runtime.Types.Result.GetResult + +export type AccountCountArgs = + Omit & { + select?: AccountCountAggregateInputType | true + } + +export interface AccountDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Account'], meta: { name: 'Account' } } + /** + * Find zero or one Account that matches the filter. + * @param {AccountFindUniqueArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Account that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {AccountFindUniqueOrThrowArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Account that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountFindFirstArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Account that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountFindFirstOrThrowArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Accounts that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Accounts + * const accounts = await prisma.account.findMany() + * + * // Get first 10 Accounts + * const accounts = await prisma.account.findMany({ take: 10 }) + * + * // Only select the `id` + * const accountWithIdOnly = await prisma.account.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Account. + * @param {AccountCreateArgs} args - Arguments to create a Account. + * @example + * // Create one Account + * const Account = await prisma.account.create({ + * data: { + * // ... data to create a Account + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Accounts. + * @param {AccountCreateManyArgs} args - Arguments to create many Accounts. + * @example + * // Create many Accounts + * const account = await prisma.account.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Accounts and returns the data saved in the database. + * @param {AccountCreateManyAndReturnArgs} args - Arguments to create many Accounts. + * @example + * // Create many Accounts + * const account = await prisma.account.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Accounts and only return the `id` + * const accountWithIdOnly = await prisma.account.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Account. + * @param {AccountDeleteArgs} args - Arguments to delete one Account. + * @example + * // Delete one Account + * const Account = await prisma.account.delete({ + * where: { + * // ... filter to delete one Account + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Account. + * @param {AccountUpdateArgs} args - Arguments to update one Account. + * @example + * // Update one Account + * const account = await prisma.account.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Accounts. + * @param {AccountDeleteManyArgs} args - Arguments to filter Accounts to delete. + * @example + * // Delete a few Accounts + * const { count } = await prisma.account.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Accounts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Accounts + * const account = await prisma.account.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Accounts and returns the data updated in the database. + * @param {AccountUpdateManyAndReturnArgs} args - Arguments to update many Accounts. + * @example + * // Update many Accounts + * const account = await prisma.account.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Accounts and only return the `id` + * const accountWithIdOnly = await prisma.account.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Account. + * @param {AccountUpsertArgs} args - Arguments to update or create a Account. + * @example + * // Update or create a Account + * const account = await prisma.account.upsert({ + * create: { + * // ... data to create a Account + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Account we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Accounts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountCountArgs} args - Arguments to filter Accounts to count. + * @example + * // Count the number of Accounts + * const count = await prisma.account.count({ + * where: { + * // ... the filter for the Accounts we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Account. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Account. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends AccountGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: AccountGroupByArgs['orderBy'] } + : { orderBy?: AccountGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetAccountGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Account model + */ +readonly fields: AccountFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Account. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__AccountClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Account model + */ +export interface AccountFieldRefs { + readonly id: Prisma.FieldRef<"Account", 'String'> + readonly accountId: Prisma.FieldRef<"Account", 'String'> + readonly providerId: Prisma.FieldRef<"Account", 'String'> + readonly userId: Prisma.FieldRef<"Account", 'String'> + readonly accessToken: Prisma.FieldRef<"Account", 'String'> + readonly refreshToken: Prisma.FieldRef<"Account", 'String'> + readonly idToken: Prisma.FieldRef<"Account", 'String'> + readonly accessTokenExpiresAt: Prisma.FieldRef<"Account", 'DateTime'> + readonly refreshTokenExpiresAt: Prisma.FieldRef<"Account", 'DateTime'> + readonly scope: Prisma.FieldRef<"Account", 'String'> + readonly password: Prisma.FieldRef<"Account", 'String'> + readonly createdAt: Prisma.FieldRef<"Account", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Account", 'DateTime'> +} + + +// Custom InputTypes +/** + * Account findUnique + */ +export type AccountFindUniqueArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account findUniqueOrThrow + */ +export type AccountFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account findFirst + */ +export type AccountFindFirstArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Accounts. + */ + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account findFirstOrThrow + */ +export type AccountFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Accounts. + */ + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account findMany + */ +export type AccountFindManyArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Accounts to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Accounts. + */ + skip?: number + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account create + */ +export type AccountCreateArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The data needed to create a Account. + */ + data: Prisma.XOR +} + +/** + * Account createMany + */ +export type AccountCreateManyArgs = { + /** + * The data used to create many Accounts. + */ + data: Prisma.AccountCreateManyInput | Prisma.AccountCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Account createManyAndReturn + */ +export type AccountCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * The data used to create many Accounts. + */ + data: Prisma.AccountCreateManyInput | Prisma.AccountCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountIncludeCreateManyAndReturn | null +} + +/** + * Account update + */ +export type AccountUpdateArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The data needed to update a Account. + */ + data: Prisma.XOR + /** + * Choose, which Account to update. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account updateMany + */ +export type AccountUpdateManyArgs = { + /** + * The data used to update Accounts. + */ + data: Prisma.XOR + /** + * Filter which Accounts to update + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to update. + */ + limit?: number +} + +/** + * Account updateManyAndReturn + */ +export type AccountUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * The data used to update Accounts. + */ + data: Prisma.XOR + /** + * Filter which Accounts to update + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountIncludeUpdateManyAndReturn | null +} + +/** + * Account upsert + */ +export type AccountUpsertArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The filter to search for the Account to update in case it exists. + */ + where: Prisma.AccountWhereUniqueInput + /** + * In case the Account found by the `where` argument doesn't exist, create a new Account with this data. + */ + create: Prisma.XOR + /** + * In case the Account was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Account delete + */ +export type AccountDeleteArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter which Account to delete. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account deleteMany + */ +export type AccountDeleteManyArgs = { + /** + * Filter which Accounts to delete + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to delete. + */ + limit?: number +} + +/** + * Account without action + */ +export type AccountDefaultArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null +} diff --git a/src/lib/generated/prisma/models/Affirmation.ts b/src/lib/generated/prisma/models/Affirmation.ts new file mode 100644 index 0000000..f86af09 --- /dev/null +++ b/src/lib/generated/prisma/models/Affirmation.ts @@ -0,0 +1,1565 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Affirmation` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model Affirmation + * + */ +export type AffirmationModel = runtime.Types.Result.DefaultSelection + +export type AggregateAffirmation = { + _count: AffirmationCountAggregateOutputType | null + _avg: AffirmationAvgAggregateOutputType | null + _sum: AffirmationSumAggregateOutputType | null + _min: AffirmationMinAggregateOutputType | null + _max: AffirmationMaxAggregateOutputType | null +} + +export type AffirmationAvgAggregateOutputType = { + solfeggioFrequencyId: number | null + categoryId: number | null + price: number | null +} + +export type AffirmationSumAggregateOutputType = { + solfeggioFrequencyId: number | null + categoryId: number | null + price: number | null +} + +export type AffirmationMinAggregateOutputType = { + id: string | null + name: string | null + content: string | null + solfeggioFrequencyId: number | null + categoryId: number | null + price: number | null +} + +export type AffirmationMaxAggregateOutputType = { + id: string | null + name: string | null + content: string | null + solfeggioFrequencyId: number | null + categoryId: number | null + price: number | null +} + +export type AffirmationCountAggregateOutputType = { + id: number + name: number + content: number + solfeggioFrequencyId: number + categoryId: number + price: number + _all: number +} + + +export type AffirmationAvgAggregateInputType = { + solfeggioFrequencyId?: true + categoryId?: true + price?: true +} + +export type AffirmationSumAggregateInputType = { + solfeggioFrequencyId?: true + categoryId?: true + price?: true +} + +export type AffirmationMinAggregateInputType = { + id?: true + name?: true + content?: true + solfeggioFrequencyId?: true + categoryId?: true + price?: true +} + +export type AffirmationMaxAggregateInputType = { + id?: true + name?: true + content?: true + solfeggioFrequencyId?: true + categoryId?: true + price?: true +} + +export type AffirmationCountAggregateInputType = { + id?: true + name?: true + content?: true + solfeggioFrequencyId?: true + categoryId?: true + price?: true + _all?: true +} + +export type AffirmationAggregateArgs = { + /** + * Filter which Affirmation to aggregate. + */ + where?: Prisma.AffirmationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Affirmations to fetch. + */ + orderBy?: Prisma.AffirmationOrderByWithRelationInput | Prisma.AffirmationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.AffirmationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Affirmations from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Affirmations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Affirmations + **/ + _count?: true | AffirmationCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: AffirmationAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: AffirmationSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: AffirmationMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: AffirmationMaxAggregateInputType +} + +export type GetAffirmationAggregateType = { + [P in keyof T & keyof AggregateAffirmation]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type AffirmationGroupByArgs = { + where?: Prisma.AffirmationWhereInput + orderBy?: Prisma.AffirmationOrderByWithAggregationInput | Prisma.AffirmationOrderByWithAggregationInput[] + by: Prisma.AffirmationScalarFieldEnum[] | Prisma.AffirmationScalarFieldEnum + having?: Prisma.AffirmationScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: AffirmationCountAggregateInputType | true + _avg?: AffirmationAvgAggregateInputType + _sum?: AffirmationSumAggregateInputType + _min?: AffirmationMinAggregateInputType + _max?: AffirmationMaxAggregateInputType +} + +export type AffirmationGroupByOutputType = { + id: string + name: string + content: string + solfeggioFrequencyId: number + categoryId: number + price: number + _count: AffirmationCountAggregateOutputType | null + _avg: AffirmationAvgAggregateOutputType | null + _sum: AffirmationSumAggregateOutputType | null + _min: AffirmationMinAggregateOutputType | null + _max: AffirmationMaxAggregateOutputType | null +} + +type GetAffirmationGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof AffirmationGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type AffirmationWhereInput = { + AND?: Prisma.AffirmationWhereInput | Prisma.AffirmationWhereInput[] + OR?: Prisma.AffirmationWhereInput[] + NOT?: Prisma.AffirmationWhereInput | Prisma.AffirmationWhereInput[] + id?: Prisma.StringFilter<"Affirmation"> | string + name?: Prisma.StringFilter<"Affirmation"> | string + content?: Prisma.StringFilter<"Affirmation"> | string + solfeggioFrequencyId?: Prisma.IntFilter<"Affirmation"> | number + categoryId?: Prisma.IntFilter<"Affirmation"> | number + price?: Prisma.FloatFilter<"Affirmation"> | number + solfeggioFrequency?: Prisma.XOR + category?: Prisma.XOR +} + +export type AffirmationOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + content?: Prisma.SortOrder + solfeggioFrequencyId?: Prisma.SortOrder + categoryId?: Prisma.SortOrder + price?: Prisma.SortOrder + solfeggioFrequency?: Prisma.SolfeggioFrequencyOrderByWithRelationInput + category?: Prisma.AffirmationCategoryOrderByWithRelationInput +} + +export type AffirmationWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name?: string + content?: string + AND?: Prisma.AffirmationWhereInput | Prisma.AffirmationWhereInput[] + OR?: Prisma.AffirmationWhereInput[] + NOT?: Prisma.AffirmationWhereInput | Prisma.AffirmationWhereInput[] + solfeggioFrequencyId?: Prisma.IntFilter<"Affirmation"> | number + categoryId?: Prisma.IntFilter<"Affirmation"> | number + price?: Prisma.FloatFilter<"Affirmation"> | number + solfeggioFrequency?: Prisma.XOR + category?: Prisma.XOR +}, "id" | "name" | "content"> + +export type AffirmationOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + content?: Prisma.SortOrder + solfeggioFrequencyId?: Prisma.SortOrder + categoryId?: Prisma.SortOrder + price?: Prisma.SortOrder + _count?: Prisma.AffirmationCountOrderByAggregateInput + _avg?: Prisma.AffirmationAvgOrderByAggregateInput + _max?: Prisma.AffirmationMaxOrderByAggregateInput + _min?: Prisma.AffirmationMinOrderByAggregateInput + _sum?: Prisma.AffirmationSumOrderByAggregateInput +} + +export type AffirmationScalarWhereWithAggregatesInput = { + AND?: Prisma.AffirmationScalarWhereWithAggregatesInput | Prisma.AffirmationScalarWhereWithAggregatesInput[] + OR?: Prisma.AffirmationScalarWhereWithAggregatesInput[] + NOT?: Prisma.AffirmationScalarWhereWithAggregatesInput | Prisma.AffirmationScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Affirmation"> | string + name?: Prisma.StringWithAggregatesFilter<"Affirmation"> | string + content?: Prisma.StringWithAggregatesFilter<"Affirmation"> | string + solfeggioFrequencyId?: Prisma.IntWithAggregatesFilter<"Affirmation"> | number + categoryId?: Prisma.IntWithAggregatesFilter<"Affirmation"> | number + price?: Prisma.FloatWithAggregatesFilter<"Affirmation"> | number +} + +export type AffirmationCreateInput = { + id?: string + name: string + content: string + price?: number + solfeggioFrequency: Prisma.SolfeggioFrequencyCreateNestedOneWithoutAffirmationsInput + category: Prisma.AffirmationCategoryCreateNestedOneWithoutAffirmationsInput +} + +export type AffirmationUncheckedCreateInput = { + id?: string + name: string + content: string + solfeggioFrequencyId: number + categoryId: number + price?: number +} + +export type AffirmationUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + price?: Prisma.FloatFieldUpdateOperationsInput | number + solfeggioFrequency?: Prisma.SolfeggioFrequencyUpdateOneRequiredWithoutAffirmationsNestedInput + category?: Prisma.AffirmationCategoryUpdateOneRequiredWithoutAffirmationsNestedInput +} + +export type AffirmationUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + solfeggioFrequencyId?: Prisma.IntFieldUpdateOperationsInput | number + categoryId?: Prisma.IntFieldUpdateOperationsInput | number + price?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type AffirmationCreateManyInput = { + id?: string + name: string + content: string + solfeggioFrequencyId: number + categoryId: number + price?: number +} + +export type AffirmationUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + price?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type AffirmationUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + solfeggioFrequencyId?: Prisma.IntFieldUpdateOperationsInput | number + categoryId?: Prisma.IntFieldUpdateOperationsInput | number + price?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type AffirmationCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + content?: Prisma.SortOrder + solfeggioFrequencyId?: Prisma.SortOrder + categoryId?: Prisma.SortOrder + price?: Prisma.SortOrder +} + +export type AffirmationAvgOrderByAggregateInput = { + solfeggioFrequencyId?: Prisma.SortOrder + categoryId?: Prisma.SortOrder + price?: Prisma.SortOrder +} + +export type AffirmationMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + content?: Prisma.SortOrder + solfeggioFrequencyId?: Prisma.SortOrder + categoryId?: Prisma.SortOrder + price?: Prisma.SortOrder +} + +export type AffirmationMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + content?: Prisma.SortOrder + solfeggioFrequencyId?: Prisma.SortOrder + categoryId?: Prisma.SortOrder + price?: Prisma.SortOrder +} + +export type AffirmationSumOrderByAggregateInput = { + solfeggioFrequencyId?: Prisma.SortOrder + categoryId?: Prisma.SortOrder + price?: Prisma.SortOrder +} + +export type AffirmationListRelationFilter = { + every?: Prisma.AffirmationWhereInput + some?: Prisma.AffirmationWhereInput + none?: Prisma.AffirmationWhereInput +} + +export type AffirmationOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type FloatFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type AffirmationCreateNestedManyWithoutSolfeggioFrequencyInput = { + create?: Prisma.XOR | Prisma.AffirmationCreateWithoutSolfeggioFrequencyInput[] | Prisma.AffirmationUncheckedCreateWithoutSolfeggioFrequencyInput[] + connectOrCreate?: Prisma.AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput | Prisma.AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput[] + createMany?: Prisma.AffirmationCreateManySolfeggioFrequencyInputEnvelope + connect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] +} + +export type AffirmationUncheckedCreateNestedManyWithoutSolfeggioFrequencyInput = { + create?: Prisma.XOR | Prisma.AffirmationCreateWithoutSolfeggioFrequencyInput[] | Prisma.AffirmationUncheckedCreateWithoutSolfeggioFrequencyInput[] + connectOrCreate?: Prisma.AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput | Prisma.AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput[] + createMany?: Prisma.AffirmationCreateManySolfeggioFrequencyInputEnvelope + connect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] +} + +export type AffirmationUpdateManyWithoutSolfeggioFrequencyNestedInput = { + create?: Prisma.XOR | Prisma.AffirmationCreateWithoutSolfeggioFrequencyInput[] | Prisma.AffirmationUncheckedCreateWithoutSolfeggioFrequencyInput[] + connectOrCreate?: Prisma.AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput | Prisma.AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput[] + upsert?: Prisma.AffirmationUpsertWithWhereUniqueWithoutSolfeggioFrequencyInput | Prisma.AffirmationUpsertWithWhereUniqueWithoutSolfeggioFrequencyInput[] + createMany?: Prisma.AffirmationCreateManySolfeggioFrequencyInputEnvelope + set?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + disconnect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + delete?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + connect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + update?: Prisma.AffirmationUpdateWithWhereUniqueWithoutSolfeggioFrequencyInput | Prisma.AffirmationUpdateWithWhereUniqueWithoutSolfeggioFrequencyInput[] + updateMany?: Prisma.AffirmationUpdateManyWithWhereWithoutSolfeggioFrequencyInput | Prisma.AffirmationUpdateManyWithWhereWithoutSolfeggioFrequencyInput[] + deleteMany?: Prisma.AffirmationScalarWhereInput | Prisma.AffirmationScalarWhereInput[] +} + +export type AffirmationUncheckedUpdateManyWithoutSolfeggioFrequencyNestedInput = { + create?: Prisma.XOR | Prisma.AffirmationCreateWithoutSolfeggioFrequencyInput[] | Prisma.AffirmationUncheckedCreateWithoutSolfeggioFrequencyInput[] + connectOrCreate?: Prisma.AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput | Prisma.AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput[] + upsert?: Prisma.AffirmationUpsertWithWhereUniqueWithoutSolfeggioFrequencyInput | Prisma.AffirmationUpsertWithWhereUniqueWithoutSolfeggioFrequencyInput[] + createMany?: Prisma.AffirmationCreateManySolfeggioFrequencyInputEnvelope + set?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + disconnect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + delete?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + connect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + update?: Prisma.AffirmationUpdateWithWhereUniqueWithoutSolfeggioFrequencyInput | Prisma.AffirmationUpdateWithWhereUniqueWithoutSolfeggioFrequencyInput[] + updateMany?: Prisma.AffirmationUpdateManyWithWhereWithoutSolfeggioFrequencyInput | Prisma.AffirmationUpdateManyWithWhereWithoutSolfeggioFrequencyInput[] + deleteMany?: Prisma.AffirmationScalarWhereInput | Prisma.AffirmationScalarWhereInput[] +} + +export type AffirmationCreateNestedManyWithoutCategoryInput = { + create?: Prisma.XOR | Prisma.AffirmationCreateWithoutCategoryInput[] | Prisma.AffirmationUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: Prisma.AffirmationCreateOrConnectWithoutCategoryInput | Prisma.AffirmationCreateOrConnectWithoutCategoryInput[] + createMany?: Prisma.AffirmationCreateManyCategoryInputEnvelope + connect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] +} + +export type AffirmationUncheckedCreateNestedManyWithoutCategoryInput = { + create?: Prisma.XOR | Prisma.AffirmationCreateWithoutCategoryInput[] | Prisma.AffirmationUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: Prisma.AffirmationCreateOrConnectWithoutCategoryInput | Prisma.AffirmationCreateOrConnectWithoutCategoryInput[] + createMany?: Prisma.AffirmationCreateManyCategoryInputEnvelope + connect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] +} + +export type AffirmationUpdateManyWithoutCategoryNestedInput = { + create?: Prisma.XOR | Prisma.AffirmationCreateWithoutCategoryInput[] | Prisma.AffirmationUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: Prisma.AffirmationCreateOrConnectWithoutCategoryInput | Prisma.AffirmationCreateOrConnectWithoutCategoryInput[] + upsert?: Prisma.AffirmationUpsertWithWhereUniqueWithoutCategoryInput | Prisma.AffirmationUpsertWithWhereUniqueWithoutCategoryInput[] + createMany?: Prisma.AffirmationCreateManyCategoryInputEnvelope + set?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + disconnect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + delete?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + connect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + update?: Prisma.AffirmationUpdateWithWhereUniqueWithoutCategoryInput | Prisma.AffirmationUpdateWithWhereUniqueWithoutCategoryInput[] + updateMany?: Prisma.AffirmationUpdateManyWithWhereWithoutCategoryInput | Prisma.AffirmationUpdateManyWithWhereWithoutCategoryInput[] + deleteMany?: Prisma.AffirmationScalarWhereInput | Prisma.AffirmationScalarWhereInput[] +} + +export type AffirmationUncheckedUpdateManyWithoutCategoryNestedInput = { + create?: Prisma.XOR | Prisma.AffirmationCreateWithoutCategoryInput[] | Prisma.AffirmationUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: Prisma.AffirmationCreateOrConnectWithoutCategoryInput | Prisma.AffirmationCreateOrConnectWithoutCategoryInput[] + upsert?: Prisma.AffirmationUpsertWithWhereUniqueWithoutCategoryInput | Prisma.AffirmationUpsertWithWhereUniqueWithoutCategoryInput[] + createMany?: Prisma.AffirmationCreateManyCategoryInputEnvelope + set?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + disconnect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + delete?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + connect?: Prisma.AffirmationWhereUniqueInput | Prisma.AffirmationWhereUniqueInput[] + update?: Prisma.AffirmationUpdateWithWhereUniqueWithoutCategoryInput | Prisma.AffirmationUpdateWithWhereUniqueWithoutCategoryInput[] + updateMany?: Prisma.AffirmationUpdateManyWithWhereWithoutCategoryInput | Prisma.AffirmationUpdateManyWithWhereWithoutCategoryInput[] + deleteMany?: Prisma.AffirmationScalarWhereInput | Prisma.AffirmationScalarWhereInput[] +} + +export type AffirmationCreateWithoutSolfeggioFrequencyInput = { + id?: string + name: string + content: string + price?: number + category: Prisma.AffirmationCategoryCreateNestedOneWithoutAffirmationsInput +} + +export type AffirmationUncheckedCreateWithoutSolfeggioFrequencyInput = { + id?: string + name: string + content: string + categoryId: number + price?: number +} + +export type AffirmationCreateOrConnectWithoutSolfeggioFrequencyInput = { + where: Prisma.AffirmationWhereUniqueInput + create: Prisma.XOR +} + +export type AffirmationCreateManySolfeggioFrequencyInputEnvelope = { + data: Prisma.AffirmationCreateManySolfeggioFrequencyInput | Prisma.AffirmationCreateManySolfeggioFrequencyInput[] + skipDuplicates?: boolean +} + +export type AffirmationUpsertWithWhereUniqueWithoutSolfeggioFrequencyInput = { + where: Prisma.AffirmationWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type AffirmationUpdateWithWhereUniqueWithoutSolfeggioFrequencyInput = { + where: Prisma.AffirmationWhereUniqueInput + data: Prisma.XOR +} + +export type AffirmationUpdateManyWithWhereWithoutSolfeggioFrequencyInput = { + where: Prisma.AffirmationScalarWhereInput + data: Prisma.XOR +} + +export type AffirmationScalarWhereInput = { + AND?: Prisma.AffirmationScalarWhereInput | Prisma.AffirmationScalarWhereInput[] + OR?: Prisma.AffirmationScalarWhereInput[] + NOT?: Prisma.AffirmationScalarWhereInput | Prisma.AffirmationScalarWhereInput[] + id?: Prisma.StringFilter<"Affirmation"> | string + name?: Prisma.StringFilter<"Affirmation"> | string + content?: Prisma.StringFilter<"Affirmation"> | string + solfeggioFrequencyId?: Prisma.IntFilter<"Affirmation"> | number + categoryId?: Prisma.IntFilter<"Affirmation"> | number + price?: Prisma.FloatFilter<"Affirmation"> | number +} + +export type AffirmationCreateWithoutCategoryInput = { + id?: string + name: string + content: string + price?: number + solfeggioFrequency: Prisma.SolfeggioFrequencyCreateNestedOneWithoutAffirmationsInput +} + +export type AffirmationUncheckedCreateWithoutCategoryInput = { + id?: string + name: string + content: string + solfeggioFrequencyId: number + price?: number +} + +export type AffirmationCreateOrConnectWithoutCategoryInput = { + where: Prisma.AffirmationWhereUniqueInput + create: Prisma.XOR +} + +export type AffirmationCreateManyCategoryInputEnvelope = { + data: Prisma.AffirmationCreateManyCategoryInput | Prisma.AffirmationCreateManyCategoryInput[] + skipDuplicates?: boolean +} + +export type AffirmationUpsertWithWhereUniqueWithoutCategoryInput = { + where: Prisma.AffirmationWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type AffirmationUpdateWithWhereUniqueWithoutCategoryInput = { + where: Prisma.AffirmationWhereUniqueInput + data: Prisma.XOR +} + +export type AffirmationUpdateManyWithWhereWithoutCategoryInput = { + where: Prisma.AffirmationScalarWhereInput + data: Prisma.XOR +} + +export type AffirmationCreateManySolfeggioFrequencyInput = { + id?: string + name: string + content: string + categoryId: number + price?: number +} + +export type AffirmationUpdateWithoutSolfeggioFrequencyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + price?: Prisma.FloatFieldUpdateOperationsInput | number + category?: Prisma.AffirmationCategoryUpdateOneRequiredWithoutAffirmationsNestedInput +} + +export type AffirmationUncheckedUpdateWithoutSolfeggioFrequencyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + categoryId?: Prisma.IntFieldUpdateOperationsInput | number + price?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type AffirmationUncheckedUpdateManyWithoutSolfeggioFrequencyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + categoryId?: Prisma.IntFieldUpdateOperationsInput | number + price?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type AffirmationCreateManyCategoryInput = { + id?: string + name: string + content: string + solfeggioFrequencyId: number + price?: number +} + +export type AffirmationUpdateWithoutCategoryInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + price?: Prisma.FloatFieldUpdateOperationsInput | number + solfeggioFrequency?: Prisma.SolfeggioFrequencyUpdateOneRequiredWithoutAffirmationsNestedInput +} + +export type AffirmationUncheckedUpdateWithoutCategoryInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + solfeggioFrequencyId?: Prisma.IntFieldUpdateOperationsInput | number + price?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type AffirmationUncheckedUpdateManyWithoutCategoryInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + solfeggioFrequencyId?: Prisma.IntFieldUpdateOperationsInput | number + price?: Prisma.FloatFieldUpdateOperationsInput | number +} + + + +export type AffirmationSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + content?: boolean + solfeggioFrequencyId?: boolean + categoryId?: boolean + price?: boolean + solfeggioFrequency?: boolean | Prisma.SolfeggioFrequencyDefaultArgs + category?: boolean | Prisma.AffirmationCategoryDefaultArgs +}, ExtArgs["result"]["affirmation"]> + +export type AffirmationSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + content?: boolean + solfeggioFrequencyId?: boolean + categoryId?: boolean + price?: boolean + solfeggioFrequency?: boolean | Prisma.SolfeggioFrequencyDefaultArgs + category?: boolean | Prisma.AffirmationCategoryDefaultArgs +}, ExtArgs["result"]["affirmation"]> + +export type AffirmationSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + content?: boolean + solfeggioFrequencyId?: boolean + categoryId?: boolean + price?: boolean + solfeggioFrequency?: boolean | Prisma.SolfeggioFrequencyDefaultArgs + category?: boolean | Prisma.AffirmationCategoryDefaultArgs +}, ExtArgs["result"]["affirmation"]> + +export type AffirmationSelectScalar = { + id?: boolean + name?: boolean + content?: boolean + solfeggioFrequencyId?: boolean + categoryId?: boolean + price?: boolean +} + +export type AffirmationOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "content" | "solfeggioFrequencyId" | "categoryId" | "price", ExtArgs["result"]["affirmation"]> +export type AffirmationInclude = { + solfeggioFrequency?: boolean | Prisma.SolfeggioFrequencyDefaultArgs + category?: boolean | Prisma.AffirmationCategoryDefaultArgs +} +export type AffirmationIncludeCreateManyAndReturn = { + solfeggioFrequency?: boolean | Prisma.SolfeggioFrequencyDefaultArgs + category?: boolean | Prisma.AffirmationCategoryDefaultArgs +} +export type AffirmationIncludeUpdateManyAndReturn = { + solfeggioFrequency?: boolean | Prisma.SolfeggioFrequencyDefaultArgs + category?: boolean | Prisma.AffirmationCategoryDefaultArgs +} + +export type $AffirmationPayload = { + name: "Affirmation" + objects: { + solfeggioFrequency: Prisma.$SolfeggioFrequencyPayload + category: Prisma.$AffirmationCategoryPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + content: string + solfeggioFrequencyId: number + categoryId: number + price: number + }, ExtArgs["result"]["affirmation"]> + composites: {} +} + +export type AffirmationGetPayload = runtime.Types.Result.GetResult + +export type AffirmationCountArgs = + Omit & { + select?: AffirmationCountAggregateInputType | true + } + +export interface AffirmationDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Affirmation'], meta: { name: 'Affirmation' } } + /** + * Find zero or one Affirmation that matches the filter. + * @param {AffirmationFindUniqueArgs} args - Arguments to find a Affirmation + * @example + * // Get one Affirmation + * const affirmation = await prisma.affirmation.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Affirmation that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {AffirmationFindUniqueOrThrowArgs} args - Arguments to find a Affirmation + * @example + * // Get one Affirmation + * const affirmation = await prisma.affirmation.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Affirmation that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationFindFirstArgs} args - Arguments to find a Affirmation + * @example + * // Get one Affirmation + * const affirmation = await prisma.affirmation.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__AffirmationClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Affirmation that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationFindFirstOrThrowArgs} args - Arguments to find a Affirmation + * @example + * // Get one Affirmation + * const affirmation = await prisma.affirmation.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__AffirmationClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Affirmations that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Affirmations + * const affirmations = await prisma.affirmation.findMany() + * + * // Get first 10 Affirmations + * const affirmations = await prisma.affirmation.findMany({ take: 10 }) + * + * // Only select the `id` + * const affirmationWithIdOnly = await prisma.affirmation.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Affirmation. + * @param {AffirmationCreateArgs} args - Arguments to create a Affirmation. + * @example + * // Create one Affirmation + * const Affirmation = await prisma.affirmation.create({ + * data: { + * // ... data to create a Affirmation + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Affirmations. + * @param {AffirmationCreateManyArgs} args - Arguments to create many Affirmations. + * @example + * // Create many Affirmations + * const affirmation = await prisma.affirmation.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Affirmations and returns the data saved in the database. + * @param {AffirmationCreateManyAndReturnArgs} args - Arguments to create many Affirmations. + * @example + * // Create many Affirmations + * const affirmation = await prisma.affirmation.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Affirmations and only return the `id` + * const affirmationWithIdOnly = await prisma.affirmation.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Affirmation. + * @param {AffirmationDeleteArgs} args - Arguments to delete one Affirmation. + * @example + * // Delete one Affirmation + * const Affirmation = await prisma.affirmation.delete({ + * where: { + * // ... filter to delete one Affirmation + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Affirmation. + * @param {AffirmationUpdateArgs} args - Arguments to update one Affirmation. + * @example + * // Update one Affirmation + * const affirmation = await prisma.affirmation.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Affirmations. + * @param {AffirmationDeleteManyArgs} args - Arguments to filter Affirmations to delete. + * @example + * // Delete a few Affirmations + * const { count } = await prisma.affirmation.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Affirmations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Affirmations + * const affirmation = await prisma.affirmation.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Affirmations and returns the data updated in the database. + * @param {AffirmationUpdateManyAndReturnArgs} args - Arguments to update many Affirmations. + * @example + * // Update many Affirmations + * const affirmation = await prisma.affirmation.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Affirmations and only return the `id` + * const affirmationWithIdOnly = await prisma.affirmation.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Affirmation. + * @param {AffirmationUpsertArgs} args - Arguments to update or create a Affirmation. + * @example + * // Update or create a Affirmation + * const affirmation = await prisma.affirmation.upsert({ + * create: { + * // ... data to create a Affirmation + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Affirmation we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Affirmations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationCountArgs} args - Arguments to filter Affirmations to count. + * @example + * // Count the number of Affirmations + * const count = await prisma.affirmation.count({ + * where: { + * // ... the filter for the Affirmations we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Affirmation. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Affirmation. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends AffirmationGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: AffirmationGroupByArgs['orderBy'] } + : { orderBy?: AffirmationGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetAffirmationGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Affirmation model + */ +readonly fields: AffirmationFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Affirmation. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__AffirmationClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + solfeggioFrequency = {}>(args?: Prisma.Subset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + category = {}>(args?: Prisma.Subset>): Prisma.Prisma__AffirmationCategoryClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Affirmation model + */ +export interface AffirmationFieldRefs { + readonly id: Prisma.FieldRef<"Affirmation", 'String'> + readonly name: Prisma.FieldRef<"Affirmation", 'String'> + readonly content: Prisma.FieldRef<"Affirmation", 'String'> + readonly solfeggioFrequencyId: Prisma.FieldRef<"Affirmation", 'Int'> + readonly categoryId: Prisma.FieldRef<"Affirmation", 'Int'> + readonly price: Prisma.FieldRef<"Affirmation", 'Float'> +} + + +// Custom InputTypes +/** + * Affirmation findUnique + */ +export type AffirmationFindUniqueArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * Filter, which Affirmation to fetch. + */ + where: Prisma.AffirmationWhereUniqueInput +} + +/** + * Affirmation findUniqueOrThrow + */ +export type AffirmationFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * Filter, which Affirmation to fetch. + */ + where: Prisma.AffirmationWhereUniqueInput +} + +/** + * Affirmation findFirst + */ +export type AffirmationFindFirstArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * Filter, which Affirmation to fetch. + */ + where?: Prisma.AffirmationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Affirmations to fetch. + */ + orderBy?: Prisma.AffirmationOrderByWithRelationInput | Prisma.AffirmationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Affirmations. + */ + cursor?: Prisma.AffirmationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Affirmations from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Affirmations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Affirmations. + */ + distinct?: Prisma.AffirmationScalarFieldEnum | Prisma.AffirmationScalarFieldEnum[] +} + +/** + * Affirmation findFirstOrThrow + */ +export type AffirmationFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * Filter, which Affirmation to fetch. + */ + where?: Prisma.AffirmationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Affirmations to fetch. + */ + orderBy?: Prisma.AffirmationOrderByWithRelationInput | Prisma.AffirmationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Affirmations. + */ + cursor?: Prisma.AffirmationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Affirmations from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Affirmations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Affirmations. + */ + distinct?: Prisma.AffirmationScalarFieldEnum | Prisma.AffirmationScalarFieldEnum[] +} + +/** + * Affirmation findMany + */ +export type AffirmationFindManyArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * Filter, which Affirmations to fetch. + */ + where?: Prisma.AffirmationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Affirmations to fetch. + */ + orderBy?: Prisma.AffirmationOrderByWithRelationInput | Prisma.AffirmationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Affirmations. + */ + cursor?: Prisma.AffirmationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Affirmations from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Affirmations. + */ + skip?: number + distinct?: Prisma.AffirmationScalarFieldEnum | Prisma.AffirmationScalarFieldEnum[] +} + +/** + * Affirmation create + */ +export type AffirmationCreateArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * The data needed to create a Affirmation. + */ + data: Prisma.XOR +} + +/** + * Affirmation createMany + */ +export type AffirmationCreateManyArgs = { + /** + * The data used to create many Affirmations. + */ + data: Prisma.AffirmationCreateManyInput | Prisma.AffirmationCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Affirmation createManyAndReturn + */ +export type AffirmationCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * The data used to create many Affirmations. + */ + data: Prisma.AffirmationCreateManyInput | Prisma.AffirmationCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationIncludeCreateManyAndReturn | null +} + +/** + * Affirmation update + */ +export type AffirmationUpdateArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * The data needed to update a Affirmation. + */ + data: Prisma.XOR + /** + * Choose, which Affirmation to update. + */ + where: Prisma.AffirmationWhereUniqueInput +} + +/** + * Affirmation updateMany + */ +export type AffirmationUpdateManyArgs = { + /** + * The data used to update Affirmations. + */ + data: Prisma.XOR + /** + * Filter which Affirmations to update + */ + where?: Prisma.AffirmationWhereInput + /** + * Limit how many Affirmations to update. + */ + limit?: number +} + +/** + * Affirmation updateManyAndReturn + */ +export type AffirmationUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * The data used to update Affirmations. + */ + data: Prisma.XOR + /** + * Filter which Affirmations to update + */ + where?: Prisma.AffirmationWhereInput + /** + * Limit how many Affirmations to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationIncludeUpdateManyAndReturn | null +} + +/** + * Affirmation upsert + */ +export type AffirmationUpsertArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * The filter to search for the Affirmation to update in case it exists. + */ + where: Prisma.AffirmationWhereUniqueInput + /** + * In case the Affirmation found by the `where` argument doesn't exist, create a new Affirmation with this data. + */ + create: Prisma.XOR + /** + * In case the Affirmation was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Affirmation delete + */ +export type AffirmationDeleteArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + /** + * Filter which Affirmation to delete. + */ + where: Prisma.AffirmationWhereUniqueInput +} + +/** + * Affirmation deleteMany + */ +export type AffirmationDeleteManyArgs = { + /** + * Filter which Affirmations to delete + */ + where?: Prisma.AffirmationWhereInput + /** + * Limit how many Affirmations to delete. + */ + limit?: number +} + +/** + * Affirmation without action + */ +export type AffirmationDefaultArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null +} diff --git a/src/lib/generated/prisma/models/AffirmationCategory.ts b/src/lib/generated/prisma/models/AffirmationCategory.ts new file mode 100644 index 0000000..ce4b49e --- /dev/null +++ b/src/lib/generated/prisma/models/AffirmationCategory.ts @@ -0,0 +1,1265 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `AffirmationCategory` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model AffirmationCategory + * + */ +export type AffirmationCategoryModel = runtime.Types.Result.DefaultSelection + +export type AggregateAffirmationCategory = { + _count: AffirmationCategoryCountAggregateOutputType | null + _avg: AffirmationCategoryAvgAggregateOutputType | null + _sum: AffirmationCategorySumAggregateOutputType | null + _min: AffirmationCategoryMinAggregateOutputType | null + _max: AffirmationCategoryMaxAggregateOutputType | null +} + +export type AffirmationCategoryAvgAggregateOutputType = { + id: number | null +} + +export type AffirmationCategorySumAggregateOutputType = { + id: number | null +} + +export type AffirmationCategoryMinAggregateOutputType = { + id: number | null + name: string | null +} + +export type AffirmationCategoryMaxAggregateOutputType = { + id: number | null + name: string | null +} + +export type AffirmationCategoryCountAggregateOutputType = { + id: number + name: number + _all: number +} + + +export type AffirmationCategoryAvgAggregateInputType = { + id?: true +} + +export type AffirmationCategorySumAggregateInputType = { + id?: true +} + +export type AffirmationCategoryMinAggregateInputType = { + id?: true + name?: true +} + +export type AffirmationCategoryMaxAggregateInputType = { + id?: true + name?: true +} + +export type AffirmationCategoryCountAggregateInputType = { + id?: true + name?: true + _all?: true +} + +export type AffirmationCategoryAggregateArgs = { + /** + * Filter which AffirmationCategory to aggregate. + */ + where?: Prisma.AffirmationCategoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AffirmationCategories to fetch. + */ + orderBy?: Prisma.AffirmationCategoryOrderByWithRelationInput | Prisma.AffirmationCategoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.AffirmationCategoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` AffirmationCategories from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AffirmationCategories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned AffirmationCategories + **/ + _count?: true | AffirmationCategoryCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: AffirmationCategoryAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: AffirmationCategorySumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: AffirmationCategoryMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: AffirmationCategoryMaxAggregateInputType +} + +export type GetAffirmationCategoryAggregateType = { + [P in keyof T & keyof AggregateAffirmationCategory]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type AffirmationCategoryGroupByArgs = { + where?: Prisma.AffirmationCategoryWhereInput + orderBy?: Prisma.AffirmationCategoryOrderByWithAggregationInput | Prisma.AffirmationCategoryOrderByWithAggregationInput[] + by: Prisma.AffirmationCategoryScalarFieldEnum[] | Prisma.AffirmationCategoryScalarFieldEnum + having?: Prisma.AffirmationCategoryScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: AffirmationCategoryCountAggregateInputType | true + _avg?: AffirmationCategoryAvgAggregateInputType + _sum?: AffirmationCategorySumAggregateInputType + _min?: AffirmationCategoryMinAggregateInputType + _max?: AffirmationCategoryMaxAggregateInputType +} + +export type AffirmationCategoryGroupByOutputType = { + id: number + name: string + _count: AffirmationCategoryCountAggregateOutputType | null + _avg: AffirmationCategoryAvgAggregateOutputType | null + _sum: AffirmationCategorySumAggregateOutputType | null + _min: AffirmationCategoryMinAggregateOutputType | null + _max: AffirmationCategoryMaxAggregateOutputType | null +} + +type GetAffirmationCategoryGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof AffirmationCategoryGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type AffirmationCategoryWhereInput = { + AND?: Prisma.AffirmationCategoryWhereInput | Prisma.AffirmationCategoryWhereInput[] + OR?: Prisma.AffirmationCategoryWhereInput[] + NOT?: Prisma.AffirmationCategoryWhereInput | Prisma.AffirmationCategoryWhereInput[] + id?: Prisma.IntFilter<"AffirmationCategory"> | number + name?: Prisma.StringFilter<"AffirmationCategory"> | string + affirmations?: Prisma.AffirmationListRelationFilter +} + +export type AffirmationCategoryOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + affirmations?: Prisma.AffirmationOrderByRelationAggregateInput +} + +export type AffirmationCategoryWhereUniqueInput = Prisma.AtLeast<{ + id?: number + name?: string + AND?: Prisma.AffirmationCategoryWhereInput | Prisma.AffirmationCategoryWhereInput[] + OR?: Prisma.AffirmationCategoryWhereInput[] + NOT?: Prisma.AffirmationCategoryWhereInput | Prisma.AffirmationCategoryWhereInput[] + affirmations?: Prisma.AffirmationListRelationFilter +}, "id" | "name"> + +export type AffirmationCategoryOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + _count?: Prisma.AffirmationCategoryCountOrderByAggregateInput + _avg?: Prisma.AffirmationCategoryAvgOrderByAggregateInput + _max?: Prisma.AffirmationCategoryMaxOrderByAggregateInput + _min?: Prisma.AffirmationCategoryMinOrderByAggregateInput + _sum?: Prisma.AffirmationCategorySumOrderByAggregateInput +} + +export type AffirmationCategoryScalarWhereWithAggregatesInput = { + AND?: Prisma.AffirmationCategoryScalarWhereWithAggregatesInput | Prisma.AffirmationCategoryScalarWhereWithAggregatesInput[] + OR?: Prisma.AffirmationCategoryScalarWhereWithAggregatesInput[] + NOT?: Prisma.AffirmationCategoryScalarWhereWithAggregatesInput | Prisma.AffirmationCategoryScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"AffirmationCategory"> | number + name?: Prisma.StringWithAggregatesFilter<"AffirmationCategory"> | string +} + +export type AffirmationCategoryCreateInput = { + name: string + affirmations?: Prisma.AffirmationCreateNestedManyWithoutCategoryInput +} + +export type AffirmationCategoryUncheckedCreateInput = { + id?: number + name: string + affirmations?: Prisma.AffirmationUncheckedCreateNestedManyWithoutCategoryInput +} + +export type AffirmationCategoryUpdateInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + affirmations?: Prisma.AffirmationUpdateManyWithoutCategoryNestedInput +} + +export type AffirmationCategoryUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + affirmations?: Prisma.AffirmationUncheckedUpdateManyWithoutCategoryNestedInput +} + +export type AffirmationCategoryCreateManyInput = { + id?: number + name: string +} + +export type AffirmationCategoryUpdateManyMutationInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type AffirmationCategoryUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type AffirmationCategoryScalarRelationFilter = { + is?: Prisma.AffirmationCategoryWhereInput + isNot?: Prisma.AffirmationCategoryWhereInput +} + +export type AffirmationCategoryCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type AffirmationCategoryAvgOrderByAggregateInput = { + id?: Prisma.SortOrder +} + +export type AffirmationCategoryMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type AffirmationCategoryMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type AffirmationCategorySumOrderByAggregateInput = { + id?: Prisma.SortOrder +} + +export type AffirmationCategoryCreateNestedOneWithoutAffirmationsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.AffirmationCategoryCreateOrConnectWithoutAffirmationsInput + connect?: Prisma.AffirmationCategoryWhereUniqueInput +} + +export type AffirmationCategoryUpdateOneRequiredWithoutAffirmationsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.AffirmationCategoryCreateOrConnectWithoutAffirmationsInput + upsert?: Prisma.AffirmationCategoryUpsertWithoutAffirmationsInput + connect?: Prisma.AffirmationCategoryWhereUniqueInput + update?: Prisma.XOR, Prisma.AffirmationCategoryUncheckedUpdateWithoutAffirmationsInput> +} + +export type AffirmationCategoryCreateWithoutAffirmationsInput = { + name: string +} + +export type AffirmationCategoryUncheckedCreateWithoutAffirmationsInput = { + id?: number + name: string +} + +export type AffirmationCategoryCreateOrConnectWithoutAffirmationsInput = { + where: Prisma.AffirmationCategoryWhereUniqueInput + create: Prisma.XOR +} + +export type AffirmationCategoryUpsertWithoutAffirmationsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.AffirmationCategoryWhereInput +} + +export type AffirmationCategoryUpdateToOneWithWhereWithoutAffirmationsInput = { + where?: Prisma.AffirmationCategoryWhereInput + data: Prisma.XOR +} + +export type AffirmationCategoryUpdateWithoutAffirmationsInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type AffirmationCategoryUncheckedUpdateWithoutAffirmationsInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string +} + + +/** + * Count Type AffirmationCategoryCountOutputType + */ + +export type AffirmationCategoryCountOutputType = { + affirmations: number +} + +export type AffirmationCategoryCountOutputTypeSelect = { + affirmations?: boolean | AffirmationCategoryCountOutputTypeCountAffirmationsArgs +} + +/** + * AffirmationCategoryCountOutputType without action + */ +export type AffirmationCategoryCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the AffirmationCategoryCountOutputType + */ + select?: Prisma.AffirmationCategoryCountOutputTypeSelect | null +} + +/** + * AffirmationCategoryCountOutputType without action + */ +export type AffirmationCategoryCountOutputTypeCountAffirmationsArgs = { + where?: Prisma.AffirmationWhereInput +} + + +export type AffirmationCategorySelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + affirmations?: boolean | Prisma.AffirmationCategory$affirmationsArgs + _count?: boolean | Prisma.AffirmationCategoryCountOutputTypeDefaultArgs +}, ExtArgs["result"]["affirmationCategory"]> + +export type AffirmationCategorySelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["affirmationCategory"]> + +export type AffirmationCategorySelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["affirmationCategory"]> + +export type AffirmationCategorySelectScalar = { + id?: boolean + name?: boolean +} + +export type AffirmationCategoryOmit = runtime.Types.Extensions.GetOmit<"id" | "name", ExtArgs["result"]["affirmationCategory"]> +export type AffirmationCategoryInclude = { + affirmations?: boolean | Prisma.AffirmationCategory$affirmationsArgs + _count?: boolean | Prisma.AffirmationCategoryCountOutputTypeDefaultArgs +} +export type AffirmationCategoryIncludeCreateManyAndReturn = {} +export type AffirmationCategoryIncludeUpdateManyAndReturn = {} + +export type $AffirmationCategoryPayload = { + name: "AffirmationCategory" + objects: { + affirmations: Prisma.$AffirmationPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + name: string + }, ExtArgs["result"]["affirmationCategory"]> + composites: {} +} + +export type AffirmationCategoryGetPayload = runtime.Types.Result.GetResult + +export type AffirmationCategoryCountArgs = + Omit & { + select?: AffirmationCategoryCountAggregateInputType | true + } + +export interface AffirmationCategoryDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['AffirmationCategory'], meta: { name: 'AffirmationCategory' } } + /** + * Find zero or one AffirmationCategory that matches the filter. + * @param {AffirmationCategoryFindUniqueArgs} args - Arguments to find a AffirmationCategory + * @example + * // Get one AffirmationCategory + * const affirmationCategory = await prisma.affirmationCategory.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationCategoryClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one AffirmationCategory that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {AffirmationCategoryFindUniqueOrThrowArgs} args - Arguments to find a AffirmationCategory + * @example + * // Get one AffirmationCategory + * const affirmationCategory = await prisma.affirmationCategory.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationCategoryClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first AffirmationCategory that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationCategoryFindFirstArgs} args - Arguments to find a AffirmationCategory + * @example + * // Get one AffirmationCategory + * const affirmationCategory = await prisma.affirmationCategory.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__AffirmationCategoryClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first AffirmationCategory that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationCategoryFindFirstOrThrowArgs} args - Arguments to find a AffirmationCategory + * @example + * // Get one AffirmationCategory + * const affirmationCategory = await prisma.affirmationCategory.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__AffirmationCategoryClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more AffirmationCategories that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationCategoryFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all AffirmationCategories + * const affirmationCategories = await prisma.affirmationCategory.findMany() + * + * // Get first 10 AffirmationCategories + * const affirmationCategories = await prisma.affirmationCategory.findMany({ take: 10 }) + * + * // Only select the `id` + * const affirmationCategoryWithIdOnly = await prisma.affirmationCategory.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a AffirmationCategory. + * @param {AffirmationCategoryCreateArgs} args - Arguments to create a AffirmationCategory. + * @example + * // Create one AffirmationCategory + * const AffirmationCategory = await prisma.affirmationCategory.create({ + * data: { + * // ... data to create a AffirmationCategory + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationCategoryClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many AffirmationCategories. + * @param {AffirmationCategoryCreateManyArgs} args - Arguments to create many AffirmationCategories. + * @example + * // Create many AffirmationCategories + * const affirmationCategory = await prisma.affirmationCategory.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many AffirmationCategories and returns the data saved in the database. + * @param {AffirmationCategoryCreateManyAndReturnArgs} args - Arguments to create many AffirmationCategories. + * @example + * // Create many AffirmationCategories + * const affirmationCategory = await prisma.affirmationCategory.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many AffirmationCategories and only return the `id` + * const affirmationCategoryWithIdOnly = await prisma.affirmationCategory.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a AffirmationCategory. + * @param {AffirmationCategoryDeleteArgs} args - Arguments to delete one AffirmationCategory. + * @example + * // Delete one AffirmationCategory + * const AffirmationCategory = await prisma.affirmationCategory.delete({ + * where: { + * // ... filter to delete one AffirmationCategory + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationCategoryClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one AffirmationCategory. + * @param {AffirmationCategoryUpdateArgs} args - Arguments to update one AffirmationCategory. + * @example + * // Update one AffirmationCategory + * const affirmationCategory = await prisma.affirmationCategory.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationCategoryClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more AffirmationCategories. + * @param {AffirmationCategoryDeleteManyArgs} args - Arguments to filter AffirmationCategories to delete. + * @example + * // Delete a few AffirmationCategories + * const { count } = await prisma.affirmationCategory.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more AffirmationCategories. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationCategoryUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many AffirmationCategories + * const affirmationCategory = await prisma.affirmationCategory.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more AffirmationCategories and returns the data updated in the database. + * @param {AffirmationCategoryUpdateManyAndReturnArgs} args - Arguments to update many AffirmationCategories. + * @example + * // Update many AffirmationCategories + * const affirmationCategory = await prisma.affirmationCategory.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more AffirmationCategories and only return the `id` + * const affirmationCategoryWithIdOnly = await prisma.affirmationCategory.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one AffirmationCategory. + * @param {AffirmationCategoryUpsertArgs} args - Arguments to update or create a AffirmationCategory. + * @example + * // Update or create a AffirmationCategory + * const affirmationCategory = await prisma.affirmationCategory.upsert({ + * create: { + * // ... data to create a AffirmationCategory + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the AffirmationCategory we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__AffirmationCategoryClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of AffirmationCategories. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationCategoryCountArgs} args - Arguments to filter AffirmationCategories to count. + * @example + * // Count the number of AffirmationCategories + * const count = await prisma.affirmationCategory.count({ + * where: { + * // ... the filter for the AffirmationCategories we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a AffirmationCategory. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationCategoryAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by AffirmationCategory. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AffirmationCategoryGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends AffirmationCategoryGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: AffirmationCategoryGroupByArgs['orderBy'] } + : { orderBy?: AffirmationCategoryGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetAffirmationCategoryGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the AffirmationCategory model + */ +readonly fields: AffirmationCategoryFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for AffirmationCategory. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__AffirmationCategoryClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + affirmations = {}>(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 + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the AffirmationCategory model + */ +export interface AffirmationCategoryFieldRefs { + readonly id: Prisma.FieldRef<"AffirmationCategory", 'Int'> + readonly name: Prisma.FieldRef<"AffirmationCategory", 'String'> +} + + +// Custom InputTypes +/** + * AffirmationCategory findUnique + */ +export type AffirmationCategoryFindUniqueArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * Filter, which AffirmationCategory to fetch. + */ + where: Prisma.AffirmationCategoryWhereUniqueInput +} + +/** + * AffirmationCategory findUniqueOrThrow + */ +export type AffirmationCategoryFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * Filter, which AffirmationCategory to fetch. + */ + where: Prisma.AffirmationCategoryWhereUniqueInput +} + +/** + * AffirmationCategory findFirst + */ +export type AffirmationCategoryFindFirstArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * Filter, which AffirmationCategory to fetch. + */ + where?: Prisma.AffirmationCategoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AffirmationCategories to fetch. + */ + orderBy?: Prisma.AffirmationCategoryOrderByWithRelationInput | Prisma.AffirmationCategoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for AffirmationCategories. + */ + cursor?: Prisma.AffirmationCategoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` AffirmationCategories from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AffirmationCategories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of AffirmationCategories. + */ + distinct?: Prisma.AffirmationCategoryScalarFieldEnum | Prisma.AffirmationCategoryScalarFieldEnum[] +} + +/** + * AffirmationCategory findFirstOrThrow + */ +export type AffirmationCategoryFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * Filter, which AffirmationCategory to fetch. + */ + where?: Prisma.AffirmationCategoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AffirmationCategories to fetch. + */ + orderBy?: Prisma.AffirmationCategoryOrderByWithRelationInput | Prisma.AffirmationCategoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for AffirmationCategories. + */ + cursor?: Prisma.AffirmationCategoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` AffirmationCategories from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AffirmationCategories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of AffirmationCategories. + */ + distinct?: Prisma.AffirmationCategoryScalarFieldEnum | Prisma.AffirmationCategoryScalarFieldEnum[] +} + +/** + * AffirmationCategory findMany + */ +export type AffirmationCategoryFindManyArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * Filter, which AffirmationCategories to fetch. + */ + where?: Prisma.AffirmationCategoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AffirmationCategories to fetch. + */ + orderBy?: Prisma.AffirmationCategoryOrderByWithRelationInput | Prisma.AffirmationCategoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing AffirmationCategories. + */ + cursor?: Prisma.AffirmationCategoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` AffirmationCategories from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AffirmationCategories. + */ + skip?: number + distinct?: Prisma.AffirmationCategoryScalarFieldEnum | Prisma.AffirmationCategoryScalarFieldEnum[] +} + +/** + * AffirmationCategory create + */ +export type AffirmationCategoryCreateArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * The data needed to create a AffirmationCategory. + */ + data: Prisma.XOR +} + +/** + * AffirmationCategory createMany + */ +export type AffirmationCategoryCreateManyArgs = { + /** + * The data used to create many AffirmationCategories. + */ + data: Prisma.AffirmationCategoryCreateManyInput | Prisma.AffirmationCategoryCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * AffirmationCategory createManyAndReturn + */ +export type AffirmationCategoryCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelectCreateManyAndReturn | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * The data used to create many AffirmationCategories. + */ + data: Prisma.AffirmationCategoryCreateManyInput | Prisma.AffirmationCategoryCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * AffirmationCategory update + */ +export type AffirmationCategoryUpdateArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * The data needed to update a AffirmationCategory. + */ + data: Prisma.XOR + /** + * Choose, which AffirmationCategory to update. + */ + where: Prisma.AffirmationCategoryWhereUniqueInput +} + +/** + * AffirmationCategory updateMany + */ +export type AffirmationCategoryUpdateManyArgs = { + /** + * The data used to update AffirmationCategories. + */ + data: Prisma.XOR + /** + * Filter which AffirmationCategories to update + */ + where?: Prisma.AffirmationCategoryWhereInput + /** + * Limit how many AffirmationCategories to update. + */ + limit?: number +} + +/** + * AffirmationCategory updateManyAndReturn + */ +export type AffirmationCategoryUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * The data used to update AffirmationCategories. + */ + data: Prisma.XOR + /** + * Filter which AffirmationCategories to update + */ + where?: Prisma.AffirmationCategoryWhereInput + /** + * Limit how many AffirmationCategories to update. + */ + limit?: number +} + +/** + * AffirmationCategory upsert + */ +export type AffirmationCategoryUpsertArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * The filter to search for the AffirmationCategory to update in case it exists. + */ + where: Prisma.AffirmationCategoryWhereUniqueInput + /** + * In case the AffirmationCategory found by the `where` argument doesn't exist, create a new AffirmationCategory with this data. + */ + create: Prisma.XOR + /** + * In case the AffirmationCategory was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * AffirmationCategory delete + */ +export type AffirmationCategoryDeleteArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null + /** + * Filter which AffirmationCategory to delete. + */ + where: Prisma.AffirmationCategoryWhereUniqueInput +} + +/** + * AffirmationCategory deleteMany + */ +export type AffirmationCategoryDeleteManyArgs = { + /** + * Filter which AffirmationCategories to delete + */ + where?: Prisma.AffirmationCategoryWhereInput + /** + * Limit how many AffirmationCategories to delete. + */ + limit?: number +} + +/** + * AffirmationCategory.affirmations + */ +export type AffirmationCategory$affirmationsArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + where?: Prisma.AffirmationWhereInput + orderBy?: Prisma.AffirmationOrderByWithRelationInput | Prisma.AffirmationOrderByWithRelationInput[] + cursor?: Prisma.AffirmationWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.AffirmationScalarFieldEnum | Prisma.AffirmationScalarFieldEnum[] +} + +/** + * AffirmationCategory without action + */ +export type AffirmationCategoryDefaultArgs = { + /** + * Select specific fields to fetch from the AffirmationCategory + */ + select?: Prisma.AffirmationCategorySelect | null + /** + * Omit specific fields from the AffirmationCategory + */ + omit?: Prisma.AffirmationCategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationCategoryInclude | null +} diff --git a/src/lib/generated/prisma/models/Session.ts b/src/lib/generated/prisma/models/Session.ts new file mode 100644 index 0000000..91eeb2e --- /dev/null +++ b/src/lib/generated/prisma/models/Session.ts @@ -0,0 +1,1445 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Session` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model Session + * + */ +export type SessionModel = runtime.Types.Result.DefaultSelection + +export type AggregateSession = { + _count: SessionCountAggregateOutputType | null + _min: SessionMinAggregateOutputType | null + _max: SessionMaxAggregateOutputType | null +} + +export type SessionMinAggregateOutputType = { + id: string | null + expiresAt: Date | null + token: string | null + createdAt: Date | null + updatedAt: Date | null + ipAddress: string | null + userAgent: string | null + userId: string | null +} + +export type SessionMaxAggregateOutputType = { + id: string | null + expiresAt: Date | null + token: string | null + createdAt: Date | null + updatedAt: Date | null + ipAddress: string | null + userAgent: string | null + userId: string | null +} + +export type SessionCountAggregateOutputType = { + id: number + expiresAt: number + token: number + createdAt: number + updatedAt: number + ipAddress: number + userAgent: number + userId: number + _all: number +} + + +export type SessionMinAggregateInputType = { + id?: true + expiresAt?: true + token?: true + createdAt?: true + updatedAt?: true + ipAddress?: true + userAgent?: true + userId?: true +} + +export type SessionMaxAggregateInputType = { + id?: true + expiresAt?: true + token?: true + createdAt?: true + updatedAt?: true + ipAddress?: true + userAgent?: true + userId?: true +} + +export type SessionCountAggregateInputType = { + id?: true + expiresAt?: true + token?: true + createdAt?: true + updatedAt?: true + ipAddress?: true + userAgent?: true + userId?: true + _all?: true +} + +export type SessionAggregateArgs = { + /** + * Filter which Session to aggregate. + */ + where?: Prisma.SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Sessions + **/ + _count?: true | SessionCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: SessionMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: SessionMaxAggregateInputType +} + +export type GetSessionAggregateType = { + [P in keyof T & keyof AggregateSession]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type SessionGroupByArgs = { + where?: Prisma.SessionWhereInput + orderBy?: Prisma.SessionOrderByWithAggregationInput | Prisma.SessionOrderByWithAggregationInput[] + by: Prisma.SessionScalarFieldEnum[] | Prisma.SessionScalarFieldEnum + having?: Prisma.SessionScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: SessionCountAggregateInputType | true + _min?: SessionMinAggregateInputType + _max?: SessionMaxAggregateInputType +} + +export type SessionGroupByOutputType = { + id: string + expiresAt: Date + token: string + createdAt: Date + updatedAt: Date + ipAddress: string | null + userAgent: string | null + userId: string + _count: SessionCountAggregateOutputType | null + _min: SessionMinAggregateOutputType | null + _max: SessionMaxAggregateOutputType | null +} + +type GetSessionGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof SessionGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type SessionWhereInput = { + AND?: Prisma.SessionWhereInput | Prisma.SessionWhereInput[] + OR?: Prisma.SessionWhereInput[] + NOT?: Prisma.SessionWhereInput | Prisma.SessionWhereInput[] + id?: Prisma.StringFilter<"Session"> | string + expiresAt?: Prisma.DateTimeFilter<"Session"> | Date | string + token?: Prisma.StringFilter<"Session"> | string + createdAt?: Prisma.DateTimeFilter<"Session"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Session"> | Date | string + ipAddress?: Prisma.StringNullableFilter<"Session"> | string | null + userAgent?: Prisma.StringNullableFilter<"Session"> | string | null + userId?: Prisma.StringFilter<"Session"> | string + user?: Prisma.XOR +} + +export type SessionOrderByWithRelationInput = { + id?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + token?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + ipAddress?: Prisma.SortOrderInput | Prisma.SortOrder + userAgent?: Prisma.SortOrderInput | Prisma.SortOrder + userId?: Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput +} + +export type SessionWhereUniqueInput = Prisma.AtLeast<{ + id?: string + token?: string + AND?: Prisma.SessionWhereInput | Prisma.SessionWhereInput[] + OR?: Prisma.SessionWhereInput[] + NOT?: Prisma.SessionWhereInput | Prisma.SessionWhereInput[] + expiresAt?: Prisma.DateTimeFilter<"Session"> | Date | string + createdAt?: Prisma.DateTimeFilter<"Session"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Session"> | Date | string + ipAddress?: Prisma.StringNullableFilter<"Session"> | string | null + userAgent?: Prisma.StringNullableFilter<"Session"> | string | null + userId?: Prisma.StringFilter<"Session"> | string + user?: Prisma.XOR +}, "id" | "token"> + +export type SessionOrderByWithAggregationInput = { + id?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + token?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + ipAddress?: Prisma.SortOrderInput | Prisma.SortOrder + userAgent?: Prisma.SortOrderInput | Prisma.SortOrder + userId?: Prisma.SortOrder + _count?: Prisma.SessionCountOrderByAggregateInput + _max?: Prisma.SessionMaxOrderByAggregateInput + _min?: Prisma.SessionMinOrderByAggregateInput +} + +export type SessionScalarWhereWithAggregatesInput = { + AND?: Prisma.SessionScalarWhereWithAggregatesInput | Prisma.SessionScalarWhereWithAggregatesInput[] + OR?: Prisma.SessionScalarWhereWithAggregatesInput[] + NOT?: Prisma.SessionScalarWhereWithAggregatesInput | Prisma.SessionScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Session"> | string + expiresAt?: Prisma.DateTimeWithAggregatesFilter<"Session"> | Date | string + token?: Prisma.StringWithAggregatesFilter<"Session"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Session"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Session"> | Date | string + ipAddress?: Prisma.StringNullableWithAggregatesFilter<"Session"> | string | null + userAgent?: Prisma.StringNullableWithAggregatesFilter<"Session"> | string | null + userId?: Prisma.StringWithAggregatesFilter<"Session"> | string +} + +export type SessionCreateInput = { + id: string + expiresAt: Date | string + token: string + createdAt?: Date | string + updatedAt?: Date | string + ipAddress?: string | null + userAgent?: string | null + user: Prisma.UserCreateNestedOneWithoutSessionsInput +} + +export type SessionUncheckedCreateInput = { + id: string + expiresAt: Date | string + token: string + createdAt?: Date | string + updatedAt?: Date | string + ipAddress?: string | null + userAgent?: string | null + userId: string +} + +export type SessionUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + token?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userAgent?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + user?: Prisma.UserUpdateOneRequiredWithoutSessionsNestedInput +} + +export type SessionUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + token?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userAgent?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type SessionCreateManyInput = { + id: string + expiresAt: Date | string + token: string + createdAt?: Date | string + updatedAt?: Date | string + ipAddress?: string | null + userAgent?: string | null + userId: string +} + +export type SessionUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + token?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userAgent?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type SessionUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + token?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userAgent?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type SessionListRelationFilter = { + every?: Prisma.SessionWhereInput + some?: Prisma.SessionWhereInput + none?: Prisma.SessionWhereInput +} + +export type SessionOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type SessionCountOrderByAggregateInput = { + id?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + token?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + ipAddress?: Prisma.SortOrder + userAgent?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type SessionMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + token?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + ipAddress?: Prisma.SortOrder + userAgent?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type SessionMinOrderByAggregateInput = { + id?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + token?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + ipAddress?: Prisma.SortOrder + userAgent?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type SessionCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.SessionCreateWithoutUserInput[] | Prisma.SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.SessionCreateOrConnectWithoutUserInput | Prisma.SessionCreateOrConnectWithoutUserInput[] + createMany?: Prisma.SessionCreateManyUserInputEnvelope + connect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] +} + +export type SessionUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.SessionCreateWithoutUserInput[] | Prisma.SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.SessionCreateOrConnectWithoutUserInput | Prisma.SessionCreateOrConnectWithoutUserInput[] + createMany?: Prisma.SessionCreateManyUserInputEnvelope + connect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] +} + +export type SessionUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.SessionCreateWithoutUserInput[] | Prisma.SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.SessionCreateOrConnectWithoutUserInput | Prisma.SessionCreateOrConnectWithoutUserInput[] + upsert?: Prisma.SessionUpsertWithWhereUniqueWithoutUserInput | Prisma.SessionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.SessionCreateManyUserInputEnvelope + set?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + disconnect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + delete?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + connect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + update?: Prisma.SessionUpdateWithWhereUniqueWithoutUserInput | Prisma.SessionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.SessionUpdateManyWithWhereWithoutUserInput | Prisma.SessionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.SessionScalarWhereInput | Prisma.SessionScalarWhereInput[] +} + +export type SessionUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.SessionCreateWithoutUserInput[] | Prisma.SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.SessionCreateOrConnectWithoutUserInput | Prisma.SessionCreateOrConnectWithoutUserInput[] + upsert?: Prisma.SessionUpsertWithWhereUniqueWithoutUserInput | Prisma.SessionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.SessionCreateManyUserInputEnvelope + set?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + disconnect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + delete?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + connect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + update?: Prisma.SessionUpdateWithWhereUniqueWithoutUserInput | Prisma.SessionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.SessionUpdateManyWithWhereWithoutUserInput | Prisma.SessionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.SessionScalarWhereInput | Prisma.SessionScalarWhereInput[] +} + +export type SessionCreateWithoutUserInput = { + id: string + expiresAt: Date | string + token: string + createdAt?: Date | string + updatedAt?: Date | string + ipAddress?: string | null + userAgent?: string | null +} + +export type SessionUncheckedCreateWithoutUserInput = { + id: string + expiresAt: Date | string + token: string + createdAt?: Date | string + updatedAt?: Date | string + ipAddress?: string | null + userAgent?: string | null +} + +export type SessionCreateOrConnectWithoutUserInput = { + where: Prisma.SessionWhereUniqueInput + create: Prisma.XOR +} + +export type SessionCreateManyUserInputEnvelope = { + data: Prisma.SessionCreateManyUserInput | Prisma.SessionCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type SessionUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.SessionWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type SessionUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.SessionWhereUniqueInput + data: Prisma.XOR +} + +export type SessionUpdateManyWithWhereWithoutUserInput = { + where: Prisma.SessionScalarWhereInput + data: Prisma.XOR +} + +export type SessionScalarWhereInput = { + AND?: Prisma.SessionScalarWhereInput | Prisma.SessionScalarWhereInput[] + OR?: Prisma.SessionScalarWhereInput[] + NOT?: Prisma.SessionScalarWhereInput | Prisma.SessionScalarWhereInput[] + id?: Prisma.StringFilter<"Session"> | string + expiresAt?: Prisma.DateTimeFilter<"Session"> | Date | string + token?: Prisma.StringFilter<"Session"> | string + createdAt?: Prisma.DateTimeFilter<"Session"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Session"> | Date | string + ipAddress?: Prisma.StringNullableFilter<"Session"> | string | null + userAgent?: Prisma.StringNullableFilter<"Session"> | string | null + userId?: Prisma.StringFilter<"Session"> | string +} + +export type SessionCreateManyUserInput = { + id: string + expiresAt: Date | string + token: string + createdAt?: Date | string + updatedAt?: Date | string + ipAddress?: string | null + userAgent?: string | null +} + +export type SessionUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + token?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userAgent?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type SessionUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + token?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userAgent?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type SessionUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + token?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + userAgent?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + + + +export type SessionSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + expiresAt?: boolean + token?: boolean + createdAt?: boolean + updatedAt?: boolean + ipAddress?: boolean + userAgent?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["session"]> + +export type SessionSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + expiresAt?: boolean + token?: boolean + createdAt?: boolean + updatedAt?: boolean + ipAddress?: boolean + userAgent?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["session"]> + +export type SessionSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + expiresAt?: boolean + token?: boolean + createdAt?: boolean + updatedAt?: boolean + ipAddress?: boolean + userAgent?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["session"]> + +export type SessionSelectScalar = { + id?: boolean + expiresAt?: boolean + token?: boolean + createdAt?: boolean + updatedAt?: boolean + ipAddress?: boolean + userAgent?: boolean + userId?: boolean +} + +export type SessionOmit = runtime.Types.Extensions.GetOmit<"id" | "expiresAt" | "token" | "createdAt" | "updatedAt" | "ipAddress" | "userAgent" | "userId", ExtArgs["result"]["session"]> +export type SessionInclude = { + user?: boolean | Prisma.UserDefaultArgs +} +export type SessionIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type SessionIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $SessionPayload = { + name: "Session" + objects: { + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + expiresAt: Date + token: string + createdAt: Date + updatedAt: Date + ipAddress: string | null + userAgent: string | null + userId: string + }, ExtArgs["result"]["session"]> + composites: {} +} + +export type SessionGetPayload = runtime.Types.Result.GetResult + +export type SessionCountArgs = + Omit & { + select?: SessionCountAggregateInputType | true + } + +export interface SessionDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Session'], meta: { name: 'Session' } } + /** + * Find zero or one Session that matches the filter. + * @param {SessionFindUniqueArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Session that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {SessionFindUniqueOrThrowArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Session that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionFindFirstArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Session that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionFindFirstOrThrowArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Sessions that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Sessions + * const sessions = await prisma.session.findMany() + * + * // Get first 10 Sessions + * const sessions = await prisma.session.findMany({ take: 10 }) + * + * // Only select the `id` + * const sessionWithIdOnly = await prisma.session.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Session. + * @param {SessionCreateArgs} args - Arguments to create a Session. + * @example + * // Create one Session + * const Session = await prisma.session.create({ + * data: { + * // ... data to create a Session + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Sessions. + * @param {SessionCreateManyArgs} args - Arguments to create many Sessions. + * @example + * // Create many Sessions + * const session = await prisma.session.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Sessions and returns the data saved in the database. + * @param {SessionCreateManyAndReturnArgs} args - Arguments to create many Sessions. + * @example + * // Create many Sessions + * const session = await prisma.session.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Sessions and only return the `id` + * const sessionWithIdOnly = await prisma.session.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Session. + * @param {SessionDeleteArgs} args - Arguments to delete one Session. + * @example + * // Delete one Session + * const Session = await prisma.session.delete({ + * where: { + * // ... filter to delete one Session + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Session. + * @param {SessionUpdateArgs} args - Arguments to update one Session. + * @example + * // Update one Session + * const session = await prisma.session.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Sessions. + * @param {SessionDeleteManyArgs} args - Arguments to filter Sessions to delete. + * @example + * // Delete a few Sessions + * const { count } = await prisma.session.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Sessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Sessions + * const session = await prisma.session.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Sessions and returns the data updated in the database. + * @param {SessionUpdateManyAndReturnArgs} args - Arguments to update many Sessions. + * @example + * // Update many Sessions + * const session = await prisma.session.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Sessions and only return the `id` + * const sessionWithIdOnly = await prisma.session.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Session. + * @param {SessionUpsertArgs} args - Arguments to update or create a Session. + * @example + * // Update or create a Session + * const session = await prisma.session.upsert({ + * create: { + * // ... data to create a Session + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Session we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Sessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionCountArgs} args - Arguments to filter Sessions to count. + * @example + * // Count the number of Sessions + * const count = await prisma.session.count({ + * where: { + * // ... the filter for the Sessions we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Session. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Session. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends SessionGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: SessionGroupByArgs['orderBy'] } + : { orderBy?: SessionGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetSessionGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Session model + */ +readonly fields: SessionFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Session. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__SessionClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Session model + */ +export interface SessionFieldRefs { + readonly id: Prisma.FieldRef<"Session", 'String'> + readonly expiresAt: Prisma.FieldRef<"Session", 'DateTime'> + readonly token: Prisma.FieldRef<"Session", 'String'> + readonly createdAt: Prisma.FieldRef<"Session", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Session", 'DateTime'> + readonly ipAddress: Prisma.FieldRef<"Session", 'String'> + readonly userAgent: Prisma.FieldRef<"Session", 'String'> + readonly userId: Prisma.FieldRef<"Session", 'String'> +} + + +// Custom InputTypes +/** + * Session findUnique + */ +export type SessionFindUniqueArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where: Prisma.SessionWhereUniqueInput +} + +/** + * Session findUniqueOrThrow + */ +export type SessionFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where: Prisma.SessionWhereUniqueInput +} + +/** + * Session findFirst + */ +export type SessionFindFirstArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where?: Prisma.SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Sessions. + */ + cursor?: Prisma.SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Sessions. + */ + distinct?: Prisma.SessionScalarFieldEnum | Prisma.SessionScalarFieldEnum[] +} + +/** + * Session findFirstOrThrow + */ +export type SessionFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where?: Prisma.SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Sessions. + */ + cursor?: Prisma.SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Sessions. + */ + distinct?: Prisma.SessionScalarFieldEnum | Prisma.SessionScalarFieldEnum[] +} + +/** + * Session findMany + */ +export type SessionFindManyArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Sessions to fetch. + */ + where?: Prisma.SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Sessions. + */ + cursor?: Prisma.SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Sessions. + */ + skip?: number + distinct?: Prisma.SessionScalarFieldEnum | Prisma.SessionScalarFieldEnum[] +} + +/** + * Session create + */ +export type SessionCreateArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * The data needed to create a Session. + */ + data: Prisma.XOR +} + +/** + * Session createMany + */ +export type SessionCreateManyArgs = { + /** + * The data used to create many Sessions. + */ + data: Prisma.SessionCreateManyInput | Prisma.SessionCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Session createManyAndReturn + */ +export type SessionCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * The data used to create many Sessions. + */ + data: Prisma.SessionCreateManyInput | Prisma.SessionCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionIncludeCreateManyAndReturn | null +} + +/** + * Session update + */ +export type SessionUpdateArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * The data needed to update a Session. + */ + data: Prisma.XOR + /** + * Choose, which Session to update. + */ + where: Prisma.SessionWhereUniqueInput +} + +/** + * Session updateMany + */ +export type SessionUpdateManyArgs = { + /** + * The data used to update Sessions. + */ + data: Prisma.XOR + /** + * Filter which Sessions to update + */ + where?: Prisma.SessionWhereInput + /** + * Limit how many Sessions to update. + */ + limit?: number +} + +/** + * Session updateManyAndReturn + */ +export type SessionUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * The data used to update Sessions. + */ + data: Prisma.XOR + /** + * Filter which Sessions to update + */ + where?: Prisma.SessionWhereInput + /** + * Limit how many Sessions to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionIncludeUpdateManyAndReturn | null +} + +/** + * Session upsert + */ +export type SessionUpsertArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * The filter to search for the Session to update in case it exists. + */ + where: Prisma.SessionWhereUniqueInput + /** + * In case the Session found by the `where` argument doesn't exist, create a new Session with this data. + */ + create: Prisma.XOR + /** + * In case the Session was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Session delete + */ +export type SessionDeleteArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter which Session to delete. + */ + where: Prisma.SessionWhereUniqueInput +} + +/** + * Session deleteMany + */ +export type SessionDeleteManyArgs = { + /** + * Filter which Sessions to delete + */ + where?: Prisma.SessionWhereInput + /** + * Limit how many Sessions to delete. + */ + limit?: number +} + +/** + * Session without action + */ +export type SessionDefaultArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null +} diff --git a/src/lib/generated/prisma/models/SolfeggioFrequency.ts b/src/lib/generated/prisma/models/SolfeggioFrequency.ts new file mode 100644 index 0000000..713c600 --- /dev/null +++ b/src/lib/generated/prisma/models/SolfeggioFrequency.ts @@ -0,0 +1,1303 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `SolfeggioFrequency` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model SolfeggioFrequency + * + */ +export type SolfeggioFrequencyModel = runtime.Types.Result.DefaultSelection + +export type AggregateSolfeggioFrequency = { + _count: SolfeggioFrequencyCountAggregateOutputType | null + _avg: SolfeggioFrequencyAvgAggregateOutputType | null + _sum: SolfeggioFrequencySumAggregateOutputType | null + _min: SolfeggioFrequencyMinAggregateOutputType | null + _max: SolfeggioFrequencyMaxAggregateOutputType | null +} + +export type SolfeggioFrequencyAvgAggregateOutputType = { + id: number | null + value: number | null +} + +export type SolfeggioFrequencySumAggregateOutputType = { + id: number | null + value: number | null +} + +export type SolfeggioFrequencyMinAggregateOutputType = { + id: number | null + name: string | null + value: number | null +} + +export type SolfeggioFrequencyMaxAggregateOutputType = { + id: number | null + name: string | null + value: number | null +} + +export type SolfeggioFrequencyCountAggregateOutputType = { + id: number + name: number + value: number + _all: number +} + + +export type SolfeggioFrequencyAvgAggregateInputType = { + id?: true + value?: true +} + +export type SolfeggioFrequencySumAggregateInputType = { + id?: true + value?: true +} + +export type SolfeggioFrequencyMinAggregateInputType = { + id?: true + name?: true + value?: true +} + +export type SolfeggioFrequencyMaxAggregateInputType = { + id?: true + name?: true + value?: true +} + +export type SolfeggioFrequencyCountAggregateInputType = { + id?: true + name?: true + value?: true + _all?: true +} + +export type SolfeggioFrequencyAggregateArgs = { + /** + * Filter which SolfeggioFrequency to aggregate. + */ + where?: Prisma.SolfeggioFrequencyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of SolfeggioFrequencies to fetch. + */ + orderBy?: Prisma.SolfeggioFrequencyOrderByWithRelationInput | Prisma.SolfeggioFrequencyOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.SolfeggioFrequencyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` SolfeggioFrequencies from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` SolfeggioFrequencies. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned SolfeggioFrequencies + **/ + _count?: true | SolfeggioFrequencyCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: SolfeggioFrequencyAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: SolfeggioFrequencySumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: SolfeggioFrequencyMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: SolfeggioFrequencyMaxAggregateInputType +} + +export type GetSolfeggioFrequencyAggregateType = { + [P in keyof T & keyof AggregateSolfeggioFrequency]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type SolfeggioFrequencyGroupByArgs = { + where?: Prisma.SolfeggioFrequencyWhereInput + orderBy?: Prisma.SolfeggioFrequencyOrderByWithAggregationInput | Prisma.SolfeggioFrequencyOrderByWithAggregationInput[] + by: Prisma.SolfeggioFrequencyScalarFieldEnum[] | Prisma.SolfeggioFrequencyScalarFieldEnum + having?: Prisma.SolfeggioFrequencyScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: SolfeggioFrequencyCountAggregateInputType | true + _avg?: SolfeggioFrequencyAvgAggregateInputType + _sum?: SolfeggioFrequencySumAggregateInputType + _min?: SolfeggioFrequencyMinAggregateInputType + _max?: SolfeggioFrequencyMaxAggregateInputType +} + +export type SolfeggioFrequencyGroupByOutputType = { + id: number + name: string + value: number + _count: SolfeggioFrequencyCountAggregateOutputType | null + _avg: SolfeggioFrequencyAvgAggregateOutputType | null + _sum: SolfeggioFrequencySumAggregateOutputType | null + _min: SolfeggioFrequencyMinAggregateOutputType | null + _max: SolfeggioFrequencyMaxAggregateOutputType | null +} + +type GetSolfeggioFrequencyGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof SolfeggioFrequencyGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type SolfeggioFrequencyWhereInput = { + AND?: Prisma.SolfeggioFrequencyWhereInput | Prisma.SolfeggioFrequencyWhereInput[] + OR?: Prisma.SolfeggioFrequencyWhereInput[] + NOT?: Prisma.SolfeggioFrequencyWhereInput | Prisma.SolfeggioFrequencyWhereInput[] + id?: Prisma.IntFilter<"SolfeggioFrequency"> | number + name?: Prisma.StringFilter<"SolfeggioFrequency"> | string + value?: Prisma.FloatFilter<"SolfeggioFrequency"> | number + affirmations?: Prisma.AffirmationListRelationFilter +} + +export type SolfeggioFrequencyOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + value?: Prisma.SortOrder + affirmations?: Prisma.AffirmationOrderByRelationAggregateInput +} + +export type SolfeggioFrequencyWhereUniqueInput = Prisma.AtLeast<{ + id?: number + name?: string + value?: number + AND?: Prisma.SolfeggioFrequencyWhereInput | Prisma.SolfeggioFrequencyWhereInput[] + OR?: Prisma.SolfeggioFrequencyWhereInput[] + NOT?: Prisma.SolfeggioFrequencyWhereInput | Prisma.SolfeggioFrequencyWhereInput[] + affirmations?: Prisma.AffirmationListRelationFilter +}, "id" | "name" | "value"> + +export type SolfeggioFrequencyOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + value?: Prisma.SortOrder + _count?: Prisma.SolfeggioFrequencyCountOrderByAggregateInput + _avg?: Prisma.SolfeggioFrequencyAvgOrderByAggregateInput + _max?: Prisma.SolfeggioFrequencyMaxOrderByAggregateInput + _min?: Prisma.SolfeggioFrequencyMinOrderByAggregateInput + _sum?: Prisma.SolfeggioFrequencySumOrderByAggregateInput +} + +export type SolfeggioFrequencyScalarWhereWithAggregatesInput = { + AND?: Prisma.SolfeggioFrequencyScalarWhereWithAggregatesInput | Prisma.SolfeggioFrequencyScalarWhereWithAggregatesInput[] + OR?: Prisma.SolfeggioFrequencyScalarWhereWithAggregatesInput[] + NOT?: Prisma.SolfeggioFrequencyScalarWhereWithAggregatesInput | Prisma.SolfeggioFrequencyScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"SolfeggioFrequency"> | number + name?: Prisma.StringWithAggregatesFilter<"SolfeggioFrequency"> | string + value?: Prisma.FloatWithAggregatesFilter<"SolfeggioFrequency"> | number +} + +export type SolfeggioFrequencyCreateInput = { + name: string + value: number + affirmations?: Prisma.AffirmationCreateNestedManyWithoutSolfeggioFrequencyInput +} + +export type SolfeggioFrequencyUncheckedCreateInput = { + id?: number + name: string + value: number + affirmations?: Prisma.AffirmationUncheckedCreateNestedManyWithoutSolfeggioFrequencyInput +} + +export type SolfeggioFrequencyUpdateInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.FloatFieldUpdateOperationsInput | number + affirmations?: Prisma.AffirmationUpdateManyWithoutSolfeggioFrequencyNestedInput +} + +export type SolfeggioFrequencyUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.FloatFieldUpdateOperationsInput | number + affirmations?: Prisma.AffirmationUncheckedUpdateManyWithoutSolfeggioFrequencyNestedInput +} + +export type SolfeggioFrequencyCreateManyInput = { + id?: number + name: string + value: number +} + +export type SolfeggioFrequencyUpdateManyMutationInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type SolfeggioFrequencyUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type SolfeggioFrequencyScalarRelationFilter = { + is?: Prisma.SolfeggioFrequencyWhereInput + isNot?: Prisma.SolfeggioFrequencyWhereInput +} + +export type SolfeggioFrequencyCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + value?: Prisma.SortOrder +} + +export type SolfeggioFrequencyAvgOrderByAggregateInput = { + id?: Prisma.SortOrder + value?: Prisma.SortOrder +} + +export type SolfeggioFrequencyMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + value?: Prisma.SortOrder +} + +export type SolfeggioFrequencyMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + value?: Prisma.SortOrder +} + +export type SolfeggioFrequencySumOrderByAggregateInput = { + id?: Prisma.SortOrder + value?: Prisma.SortOrder +} + +export type SolfeggioFrequencyCreateNestedOneWithoutAffirmationsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.SolfeggioFrequencyCreateOrConnectWithoutAffirmationsInput + connect?: Prisma.SolfeggioFrequencyWhereUniqueInput +} + +export type SolfeggioFrequencyUpdateOneRequiredWithoutAffirmationsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.SolfeggioFrequencyCreateOrConnectWithoutAffirmationsInput + upsert?: Prisma.SolfeggioFrequencyUpsertWithoutAffirmationsInput + connect?: Prisma.SolfeggioFrequencyWhereUniqueInput + update?: Prisma.XOR, Prisma.SolfeggioFrequencyUncheckedUpdateWithoutAffirmationsInput> +} + +export type SolfeggioFrequencyCreateWithoutAffirmationsInput = { + name: string + value: number +} + +export type SolfeggioFrequencyUncheckedCreateWithoutAffirmationsInput = { + id?: number + name: string + value: number +} + +export type SolfeggioFrequencyCreateOrConnectWithoutAffirmationsInput = { + where: Prisma.SolfeggioFrequencyWhereUniqueInput + create: Prisma.XOR +} + +export type SolfeggioFrequencyUpsertWithoutAffirmationsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.SolfeggioFrequencyWhereInput +} + +export type SolfeggioFrequencyUpdateToOneWithWhereWithoutAffirmationsInput = { + where?: Prisma.SolfeggioFrequencyWhereInput + data: Prisma.XOR +} + +export type SolfeggioFrequencyUpdateWithoutAffirmationsInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.FloatFieldUpdateOperationsInput | number +} + +export type SolfeggioFrequencyUncheckedUpdateWithoutAffirmationsInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.FloatFieldUpdateOperationsInput | number +} + + +/** + * Count Type SolfeggioFrequencyCountOutputType + */ + +export type SolfeggioFrequencyCountOutputType = { + affirmations: number +} + +export type SolfeggioFrequencyCountOutputTypeSelect = { + affirmations?: boolean | SolfeggioFrequencyCountOutputTypeCountAffirmationsArgs +} + +/** + * SolfeggioFrequencyCountOutputType without action + */ +export type SolfeggioFrequencyCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequencyCountOutputType + */ + select?: Prisma.SolfeggioFrequencyCountOutputTypeSelect | null +} + +/** + * SolfeggioFrequencyCountOutputType without action + */ +export type SolfeggioFrequencyCountOutputTypeCountAffirmationsArgs = { + where?: Prisma.AffirmationWhereInput +} + + +export type SolfeggioFrequencySelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + value?: boolean + affirmations?: boolean | Prisma.SolfeggioFrequency$affirmationsArgs + _count?: boolean | Prisma.SolfeggioFrequencyCountOutputTypeDefaultArgs +}, ExtArgs["result"]["solfeggioFrequency"]> + +export type SolfeggioFrequencySelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + value?: boolean +}, ExtArgs["result"]["solfeggioFrequency"]> + +export type SolfeggioFrequencySelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + value?: boolean +}, ExtArgs["result"]["solfeggioFrequency"]> + +export type SolfeggioFrequencySelectScalar = { + id?: boolean + name?: boolean + value?: boolean +} + +export type SolfeggioFrequencyOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "value", ExtArgs["result"]["solfeggioFrequency"]> +export type SolfeggioFrequencyInclude = { + affirmations?: boolean | Prisma.SolfeggioFrequency$affirmationsArgs + _count?: boolean | Prisma.SolfeggioFrequencyCountOutputTypeDefaultArgs +} +export type SolfeggioFrequencyIncludeCreateManyAndReturn = {} +export type SolfeggioFrequencyIncludeUpdateManyAndReturn = {} + +export type $SolfeggioFrequencyPayload = { + name: "SolfeggioFrequency" + objects: { + affirmations: Prisma.$AffirmationPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + name: string + value: number + }, ExtArgs["result"]["solfeggioFrequency"]> + composites: {} +} + +export type SolfeggioFrequencyGetPayload = runtime.Types.Result.GetResult + +export type SolfeggioFrequencyCountArgs = + Omit & { + select?: SolfeggioFrequencyCountAggregateInputType | true + } + +export interface SolfeggioFrequencyDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['SolfeggioFrequency'], meta: { name: 'SolfeggioFrequency' } } + /** + * Find zero or one SolfeggioFrequency that matches the filter. + * @param {SolfeggioFrequencyFindUniqueArgs} args - Arguments to find a SolfeggioFrequency + * @example + * // Get one SolfeggioFrequency + * const solfeggioFrequency = await prisma.solfeggioFrequency.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one SolfeggioFrequency that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {SolfeggioFrequencyFindUniqueOrThrowArgs} args - Arguments to find a SolfeggioFrequency + * @example + * // Get one SolfeggioFrequency + * const solfeggioFrequency = await prisma.solfeggioFrequency.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first SolfeggioFrequency that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SolfeggioFrequencyFindFirstArgs} args - Arguments to find a SolfeggioFrequency + * @example + * // Get one SolfeggioFrequency + * const solfeggioFrequency = await prisma.solfeggioFrequency.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first SolfeggioFrequency that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SolfeggioFrequencyFindFirstOrThrowArgs} args - Arguments to find a SolfeggioFrequency + * @example + * // Get one SolfeggioFrequency + * const solfeggioFrequency = await prisma.solfeggioFrequency.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more SolfeggioFrequencies that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SolfeggioFrequencyFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all SolfeggioFrequencies + * const solfeggioFrequencies = await prisma.solfeggioFrequency.findMany() + * + * // Get first 10 SolfeggioFrequencies + * const solfeggioFrequencies = await prisma.solfeggioFrequency.findMany({ take: 10 }) + * + * // Only select the `id` + * const solfeggioFrequencyWithIdOnly = await prisma.solfeggioFrequency.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a SolfeggioFrequency. + * @param {SolfeggioFrequencyCreateArgs} args - Arguments to create a SolfeggioFrequency. + * @example + * // Create one SolfeggioFrequency + * const SolfeggioFrequency = await prisma.solfeggioFrequency.create({ + * data: { + * // ... data to create a SolfeggioFrequency + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many SolfeggioFrequencies. + * @param {SolfeggioFrequencyCreateManyArgs} args - Arguments to create many SolfeggioFrequencies. + * @example + * // Create many SolfeggioFrequencies + * const solfeggioFrequency = await prisma.solfeggioFrequency.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many SolfeggioFrequencies and returns the data saved in the database. + * @param {SolfeggioFrequencyCreateManyAndReturnArgs} args - Arguments to create many SolfeggioFrequencies. + * @example + * // Create many SolfeggioFrequencies + * const solfeggioFrequency = await prisma.solfeggioFrequency.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many SolfeggioFrequencies and only return the `id` + * const solfeggioFrequencyWithIdOnly = await prisma.solfeggioFrequency.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a SolfeggioFrequency. + * @param {SolfeggioFrequencyDeleteArgs} args - Arguments to delete one SolfeggioFrequency. + * @example + * // Delete one SolfeggioFrequency + * const SolfeggioFrequency = await prisma.solfeggioFrequency.delete({ + * where: { + * // ... filter to delete one SolfeggioFrequency + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one SolfeggioFrequency. + * @param {SolfeggioFrequencyUpdateArgs} args - Arguments to update one SolfeggioFrequency. + * @example + * // Update one SolfeggioFrequency + * const solfeggioFrequency = await prisma.solfeggioFrequency.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more SolfeggioFrequencies. + * @param {SolfeggioFrequencyDeleteManyArgs} args - Arguments to filter SolfeggioFrequencies to delete. + * @example + * // Delete a few SolfeggioFrequencies + * const { count } = await prisma.solfeggioFrequency.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more SolfeggioFrequencies. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SolfeggioFrequencyUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many SolfeggioFrequencies + * const solfeggioFrequency = await prisma.solfeggioFrequency.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more SolfeggioFrequencies and returns the data updated in the database. + * @param {SolfeggioFrequencyUpdateManyAndReturnArgs} args - Arguments to update many SolfeggioFrequencies. + * @example + * // Update many SolfeggioFrequencies + * const solfeggioFrequency = await prisma.solfeggioFrequency.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more SolfeggioFrequencies and only return the `id` + * const solfeggioFrequencyWithIdOnly = await prisma.solfeggioFrequency.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one SolfeggioFrequency. + * @param {SolfeggioFrequencyUpsertArgs} args - Arguments to update or create a SolfeggioFrequency. + * @example + * // Update or create a SolfeggioFrequency + * const solfeggioFrequency = await prisma.solfeggioFrequency.upsert({ + * create: { + * // ... data to create a SolfeggioFrequency + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the SolfeggioFrequency we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__SolfeggioFrequencyClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of SolfeggioFrequencies. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SolfeggioFrequencyCountArgs} args - Arguments to filter SolfeggioFrequencies to count. + * @example + * // Count the number of SolfeggioFrequencies + * const count = await prisma.solfeggioFrequency.count({ + * where: { + * // ... the filter for the SolfeggioFrequencies we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a SolfeggioFrequency. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SolfeggioFrequencyAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by SolfeggioFrequency. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SolfeggioFrequencyGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends SolfeggioFrequencyGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: SolfeggioFrequencyGroupByArgs['orderBy'] } + : { orderBy?: SolfeggioFrequencyGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetSolfeggioFrequencyGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the SolfeggioFrequency model + */ +readonly fields: SolfeggioFrequencyFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for SolfeggioFrequency. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__SolfeggioFrequencyClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + affirmations = {}>(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 + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the SolfeggioFrequency model + */ +export interface SolfeggioFrequencyFieldRefs { + readonly id: Prisma.FieldRef<"SolfeggioFrequency", 'Int'> + readonly name: Prisma.FieldRef<"SolfeggioFrequency", 'String'> + readonly value: Prisma.FieldRef<"SolfeggioFrequency", 'Float'> +} + + +// Custom InputTypes +/** + * SolfeggioFrequency findUnique + */ +export type SolfeggioFrequencyFindUniqueArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * Filter, which SolfeggioFrequency to fetch. + */ + where: Prisma.SolfeggioFrequencyWhereUniqueInput +} + +/** + * SolfeggioFrequency findUniqueOrThrow + */ +export type SolfeggioFrequencyFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * Filter, which SolfeggioFrequency to fetch. + */ + where: Prisma.SolfeggioFrequencyWhereUniqueInput +} + +/** + * SolfeggioFrequency findFirst + */ +export type SolfeggioFrequencyFindFirstArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * Filter, which SolfeggioFrequency to fetch. + */ + where?: Prisma.SolfeggioFrequencyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of SolfeggioFrequencies to fetch. + */ + orderBy?: Prisma.SolfeggioFrequencyOrderByWithRelationInput | Prisma.SolfeggioFrequencyOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for SolfeggioFrequencies. + */ + cursor?: Prisma.SolfeggioFrequencyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` SolfeggioFrequencies from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` SolfeggioFrequencies. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of SolfeggioFrequencies. + */ + distinct?: Prisma.SolfeggioFrequencyScalarFieldEnum | Prisma.SolfeggioFrequencyScalarFieldEnum[] +} + +/** + * SolfeggioFrequency findFirstOrThrow + */ +export type SolfeggioFrequencyFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * Filter, which SolfeggioFrequency to fetch. + */ + where?: Prisma.SolfeggioFrequencyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of SolfeggioFrequencies to fetch. + */ + orderBy?: Prisma.SolfeggioFrequencyOrderByWithRelationInput | Prisma.SolfeggioFrequencyOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for SolfeggioFrequencies. + */ + cursor?: Prisma.SolfeggioFrequencyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` SolfeggioFrequencies from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` SolfeggioFrequencies. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of SolfeggioFrequencies. + */ + distinct?: Prisma.SolfeggioFrequencyScalarFieldEnum | Prisma.SolfeggioFrequencyScalarFieldEnum[] +} + +/** + * SolfeggioFrequency findMany + */ +export type SolfeggioFrequencyFindManyArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * Filter, which SolfeggioFrequencies to fetch. + */ + where?: Prisma.SolfeggioFrequencyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of SolfeggioFrequencies to fetch. + */ + orderBy?: Prisma.SolfeggioFrequencyOrderByWithRelationInput | Prisma.SolfeggioFrequencyOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing SolfeggioFrequencies. + */ + cursor?: Prisma.SolfeggioFrequencyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` SolfeggioFrequencies from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` SolfeggioFrequencies. + */ + skip?: number + distinct?: Prisma.SolfeggioFrequencyScalarFieldEnum | Prisma.SolfeggioFrequencyScalarFieldEnum[] +} + +/** + * SolfeggioFrequency create + */ +export type SolfeggioFrequencyCreateArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * The data needed to create a SolfeggioFrequency. + */ + data: Prisma.XOR +} + +/** + * SolfeggioFrequency createMany + */ +export type SolfeggioFrequencyCreateManyArgs = { + /** + * The data used to create many SolfeggioFrequencies. + */ + data: Prisma.SolfeggioFrequencyCreateManyInput | Prisma.SolfeggioFrequencyCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * SolfeggioFrequency createManyAndReturn + */ +export type SolfeggioFrequencyCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelectCreateManyAndReturn | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * The data used to create many SolfeggioFrequencies. + */ + data: Prisma.SolfeggioFrequencyCreateManyInput | Prisma.SolfeggioFrequencyCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * SolfeggioFrequency update + */ +export type SolfeggioFrequencyUpdateArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * The data needed to update a SolfeggioFrequency. + */ + data: Prisma.XOR + /** + * Choose, which SolfeggioFrequency to update. + */ + where: Prisma.SolfeggioFrequencyWhereUniqueInput +} + +/** + * SolfeggioFrequency updateMany + */ +export type SolfeggioFrequencyUpdateManyArgs = { + /** + * The data used to update SolfeggioFrequencies. + */ + data: Prisma.XOR + /** + * Filter which SolfeggioFrequencies to update + */ + where?: Prisma.SolfeggioFrequencyWhereInput + /** + * Limit how many SolfeggioFrequencies to update. + */ + limit?: number +} + +/** + * SolfeggioFrequency updateManyAndReturn + */ +export type SolfeggioFrequencyUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * The data used to update SolfeggioFrequencies. + */ + data: Prisma.XOR + /** + * Filter which SolfeggioFrequencies to update + */ + where?: Prisma.SolfeggioFrequencyWhereInput + /** + * Limit how many SolfeggioFrequencies to update. + */ + limit?: number +} + +/** + * SolfeggioFrequency upsert + */ +export type SolfeggioFrequencyUpsertArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * The filter to search for the SolfeggioFrequency to update in case it exists. + */ + where: Prisma.SolfeggioFrequencyWhereUniqueInput + /** + * In case the SolfeggioFrequency found by the `where` argument doesn't exist, create a new SolfeggioFrequency with this data. + */ + create: Prisma.XOR + /** + * In case the SolfeggioFrequency was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * SolfeggioFrequency delete + */ +export type SolfeggioFrequencyDeleteArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null + /** + * Filter which SolfeggioFrequency to delete. + */ + where: Prisma.SolfeggioFrequencyWhereUniqueInput +} + +/** + * SolfeggioFrequency deleteMany + */ +export type SolfeggioFrequencyDeleteManyArgs = { + /** + * Filter which SolfeggioFrequencies to delete + */ + where?: Prisma.SolfeggioFrequencyWhereInput + /** + * Limit how many SolfeggioFrequencies to delete. + */ + limit?: number +} + +/** + * SolfeggioFrequency.affirmations + */ +export type SolfeggioFrequency$affirmationsArgs = { + /** + * Select specific fields to fetch from the Affirmation + */ + select?: Prisma.AffirmationSelect | null + /** + * Omit specific fields from the Affirmation + */ + omit?: Prisma.AffirmationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AffirmationInclude | null + where?: Prisma.AffirmationWhereInput + orderBy?: Prisma.AffirmationOrderByWithRelationInput | Prisma.AffirmationOrderByWithRelationInput[] + cursor?: Prisma.AffirmationWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.AffirmationScalarFieldEnum | Prisma.AffirmationScalarFieldEnum[] +} + +/** + * SolfeggioFrequency without action + */ +export type SolfeggioFrequencyDefaultArgs = { + /** + * Select specific fields to fetch from the SolfeggioFrequency + */ + select?: Prisma.SolfeggioFrequencySelect | null + /** + * Omit specific fields from the SolfeggioFrequency + */ + omit?: Prisma.SolfeggioFrequencyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SolfeggioFrequencyInclude | null +} diff --git a/src/lib/generated/prisma/models/User.ts b/src/lib/generated/prisma/models/User.ts new file mode 100644 index 0000000..7a39b75 --- /dev/null +++ b/src/lib/generated/prisma/models/User.ts @@ -0,0 +1,1811 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `User` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model User + * + */ +export type UserModel = runtime.Types.Result.DefaultSelection + +export type AggregateUser = { + _count: UserCountAggregateOutputType | null + _avg: UserAvgAggregateOutputType | null + _sum: UserSumAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null +} + +export type UserAvgAggregateOutputType = { + roleId: number | null +} + +export type UserSumAggregateOutputType = { + roleId: number | null +} + +export type UserMinAggregateOutputType = { + id: string | null + name: string | null + email: string | null + emailVerified: boolean | null + image: string | null + createdAt: Date | null + updatedAt: Date | null + roleId: number | null +} + +export type UserMaxAggregateOutputType = { + id: string | null + name: string | null + email: string | null + emailVerified: boolean | null + image: string | null + createdAt: Date | null + updatedAt: Date | null + roleId: number | null +} + +export type UserCountAggregateOutputType = { + id: number + name: number + email: number + emailVerified: number + image: number + createdAt: number + updatedAt: number + roleId: number + _all: number +} + + +export type UserAvgAggregateInputType = { + roleId?: true +} + +export type UserSumAggregateInputType = { + roleId?: true +} + +export type UserMinAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + createdAt?: true + updatedAt?: true + roleId?: true +} + +export type UserMaxAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + createdAt?: true + updatedAt?: true + roleId?: true +} + +export type UserCountAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + createdAt?: true + updatedAt?: true + roleId?: true + _all?: true +} + +export type UserAggregateArgs = { + /** + * Filter which User to aggregate. + */ + where?: Prisma.UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Users + **/ + _count?: true | UserCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: UserAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: UserSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UserMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UserMaxAggregateInputType +} + +export type GetUserAggregateType = { + [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type UserGroupByArgs = { + where?: Prisma.UserWhereInput + orderBy?: Prisma.UserOrderByWithAggregationInput | Prisma.UserOrderByWithAggregationInput[] + by: Prisma.UserScalarFieldEnum[] | Prisma.UserScalarFieldEnum + having?: Prisma.UserScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserCountAggregateInputType | true + _avg?: UserAvgAggregateInputType + _sum?: UserSumAggregateInputType + _min?: UserMinAggregateInputType + _max?: UserMaxAggregateInputType +} + +export type UserGroupByOutputType = { + id: string + name: string + email: string + emailVerified: boolean + image: string | null + createdAt: Date + updatedAt: Date + roleId: number | null + _count: UserCountAggregateOutputType | null + _avg: UserAvgAggregateOutputType | null + _sum: UserSumAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null +} + +type GetUserGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type UserWhereInput = { + AND?: Prisma.UserWhereInput | Prisma.UserWhereInput[] + OR?: Prisma.UserWhereInput[] + NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[] + id?: Prisma.StringFilter<"User"> | string + name?: Prisma.StringFilter<"User"> | string + email?: Prisma.StringFilter<"User"> | string + emailVerified?: Prisma.BoolFilter<"User"> | boolean + image?: Prisma.StringNullableFilter<"User"> | string | null + createdAt?: Prisma.DateTimeFilter<"User"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string + roleId?: Prisma.IntNullableFilter<"User"> | number | null + role?: Prisma.XOR | null + sessions?: Prisma.SessionListRelationFilter + accounts?: Prisma.AccountListRelationFilter +} + +export type UserOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + email?: Prisma.SortOrder + emailVerified?: Prisma.SortOrder + image?: Prisma.SortOrderInput | Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + roleId?: Prisma.SortOrderInput | Prisma.SortOrder + role?: Prisma.UserRoleOrderByWithRelationInput + sessions?: Prisma.SessionOrderByRelationAggregateInput + accounts?: Prisma.AccountOrderByRelationAggregateInput +} + +export type UserWhereUniqueInput = Prisma.AtLeast<{ + id?: string + email?: string + AND?: Prisma.UserWhereInput | Prisma.UserWhereInput[] + OR?: Prisma.UserWhereInput[] + NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[] + name?: Prisma.StringFilter<"User"> | string + emailVerified?: Prisma.BoolFilter<"User"> | boolean + image?: Prisma.StringNullableFilter<"User"> | string | null + createdAt?: Prisma.DateTimeFilter<"User"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string + roleId?: Prisma.IntNullableFilter<"User"> | number | null + role?: Prisma.XOR | null + sessions?: Prisma.SessionListRelationFilter + accounts?: Prisma.AccountListRelationFilter +}, "id" | "email"> + +export type UserOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + email?: Prisma.SortOrder + emailVerified?: Prisma.SortOrder + image?: Prisma.SortOrderInput | Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + roleId?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.UserCountOrderByAggregateInput + _avg?: Prisma.UserAvgOrderByAggregateInput + _max?: Prisma.UserMaxOrderByAggregateInput + _min?: Prisma.UserMinOrderByAggregateInput + _sum?: Prisma.UserSumOrderByAggregateInput +} + +export type UserScalarWhereWithAggregatesInput = { + AND?: Prisma.UserScalarWhereWithAggregatesInput | Prisma.UserScalarWhereWithAggregatesInput[] + OR?: Prisma.UserScalarWhereWithAggregatesInput[] + NOT?: Prisma.UserScalarWhereWithAggregatesInput | Prisma.UserScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"User"> | string + name?: Prisma.StringWithAggregatesFilter<"User"> | string + email?: Prisma.StringWithAggregatesFilter<"User"> | string + emailVerified?: Prisma.BoolWithAggregatesFilter<"User"> | boolean + image?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null + createdAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string + roleId?: Prisma.IntNullableWithAggregatesFilter<"User"> | number | null +} + +export type UserCreateInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + role?: Prisma.UserRoleCreateNestedOneWithoutUsersInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + roleId?: number | null + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput +} + +export type UserUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + role?: Prisma.UserRoleUpdateOneWithoutUsersNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + roleId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateManyInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + roleId?: number | null +} + +export type UserUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type UserUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + roleId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null +} + +export type UserCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + email?: Prisma.SortOrder + emailVerified?: Prisma.SortOrder + image?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + roleId?: Prisma.SortOrder +} + +export type UserAvgOrderByAggregateInput = { + roleId?: Prisma.SortOrder +} + +export type UserMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + email?: Prisma.SortOrder + emailVerified?: Prisma.SortOrder + image?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + roleId?: Prisma.SortOrder +} + +export type UserMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + email?: Prisma.SortOrder + emailVerified?: Prisma.SortOrder + image?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + roleId?: Prisma.SortOrder +} + +export type UserSumOrderByAggregateInput = { + roleId?: Prisma.SortOrder +} + +export type UserScalarRelationFilter = { + is?: Prisma.UserWhereInput + isNot?: Prisma.UserWhereInput +} + +export type UserListRelationFilter = { + every?: Prisma.UserWhereInput + some?: Prisma.UserWhereInput + none?: Prisma.UserWhereInput +} + +export type UserOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type StringFieldUpdateOperationsInput = { + set?: string +} + +export type BoolFieldUpdateOperationsInput = { + set?: boolean +} + +export type NullableStringFieldUpdateOperationsInput = { + set?: string | null +} + +export type DateTimeFieldUpdateOperationsInput = { + set?: Date | string +} + +export type NullableIntFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type UserCreateNestedOneWithoutSessionsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutSessionsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutSessionsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutSessionsInput + upsert?: Prisma.UserUpsertWithoutSessionsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutSessionsInput> +} + +export type UserCreateNestedOneWithoutAccountsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutAccountsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutAccountsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutAccountsInput + upsert?: Prisma.UserUpsertWithoutAccountsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutAccountsInput> +} + +export type UserCreateNestedManyWithoutRoleInput = { + create?: Prisma.XOR | Prisma.UserCreateWithoutRoleInput[] | Prisma.UserUncheckedCreateWithoutRoleInput[] + connectOrCreate?: Prisma.UserCreateOrConnectWithoutRoleInput | Prisma.UserCreateOrConnectWithoutRoleInput[] + createMany?: Prisma.UserCreateManyRoleInputEnvelope + connect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] +} + +export type UserUncheckedCreateNestedManyWithoutRoleInput = { + create?: Prisma.XOR | Prisma.UserCreateWithoutRoleInput[] | Prisma.UserUncheckedCreateWithoutRoleInput[] + connectOrCreate?: Prisma.UserCreateOrConnectWithoutRoleInput | Prisma.UserCreateOrConnectWithoutRoleInput[] + createMany?: Prisma.UserCreateManyRoleInputEnvelope + connect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] +} + +export type UserUpdateManyWithoutRoleNestedInput = { + create?: Prisma.XOR | Prisma.UserCreateWithoutRoleInput[] | Prisma.UserUncheckedCreateWithoutRoleInput[] + connectOrCreate?: Prisma.UserCreateOrConnectWithoutRoleInput | Prisma.UserCreateOrConnectWithoutRoleInput[] + upsert?: Prisma.UserUpsertWithWhereUniqueWithoutRoleInput | Prisma.UserUpsertWithWhereUniqueWithoutRoleInput[] + createMany?: Prisma.UserCreateManyRoleInputEnvelope + set?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] + disconnect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] + delete?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] + connect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] + update?: Prisma.UserUpdateWithWhereUniqueWithoutRoleInput | Prisma.UserUpdateWithWhereUniqueWithoutRoleInput[] + updateMany?: Prisma.UserUpdateManyWithWhereWithoutRoleInput | Prisma.UserUpdateManyWithWhereWithoutRoleInput[] + deleteMany?: Prisma.UserScalarWhereInput | Prisma.UserScalarWhereInput[] +} + +export type UserUncheckedUpdateManyWithoutRoleNestedInput = { + create?: Prisma.XOR | Prisma.UserCreateWithoutRoleInput[] | Prisma.UserUncheckedCreateWithoutRoleInput[] + connectOrCreate?: Prisma.UserCreateOrConnectWithoutRoleInput | Prisma.UserCreateOrConnectWithoutRoleInput[] + upsert?: Prisma.UserUpsertWithWhereUniqueWithoutRoleInput | Prisma.UserUpsertWithWhereUniqueWithoutRoleInput[] + createMany?: Prisma.UserCreateManyRoleInputEnvelope + set?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] + disconnect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] + delete?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] + connect?: Prisma.UserWhereUniqueInput | Prisma.UserWhereUniqueInput[] + update?: Prisma.UserUpdateWithWhereUniqueWithoutRoleInput | Prisma.UserUpdateWithWhereUniqueWithoutRoleInput[] + updateMany?: Prisma.UserUpdateManyWithWhereWithoutRoleInput | Prisma.UserUpdateManyWithWhereWithoutRoleInput[] + deleteMany?: Prisma.UserScalarWhereInput | Prisma.UserScalarWhereInput[] +} + +export type UserCreateWithoutSessionsInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + role?: Prisma.UserRoleCreateNestedOneWithoutUsersInput + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutSessionsInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + roleId?: number | null + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutSessionsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutSessionsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutSessionsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutSessionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + role?: Prisma.UserRoleUpdateOneWithoutUsersNestedInput + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutSessionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + roleId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateWithoutAccountsInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + role?: Prisma.UserRoleCreateNestedOneWithoutUsersInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutAccountsInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + roleId?: number | null + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutAccountsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutAccountsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutAccountsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutAccountsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + role?: Prisma.UserRoleUpdateOneWithoutUsersNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutAccountsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + roleId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateWithoutRoleInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutRoleInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutRoleInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserCreateManyRoleInputEnvelope = { + data: Prisma.UserCreateManyRoleInput | Prisma.UserCreateManyRoleInput[] + skipDuplicates?: boolean +} + +export type UserUpsertWithWhereUniqueWithoutRoleInput = { + where: Prisma.UserWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type UserUpdateWithWhereUniqueWithoutRoleInput = { + where: Prisma.UserWhereUniqueInput + data: Prisma.XOR +} + +export type UserUpdateManyWithWhereWithoutRoleInput = { + where: Prisma.UserScalarWhereInput + data: Prisma.XOR +} + +export type UserScalarWhereInput = { + AND?: Prisma.UserScalarWhereInput | Prisma.UserScalarWhereInput[] + OR?: Prisma.UserScalarWhereInput[] + NOT?: Prisma.UserScalarWhereInput | Prisma.UserScalarWhereInput[] + id?: Prisma.StringFilter<"User"> | string + name?: Prisma.StringFilter<"User"> | string + email?: Prisma.StringFilter<"User"> | string + emailVerified?: Prisma.BoolFilter<"User"> | boolean + image?: Prisma.StringNullableFilter<"User"> | string | null + createdAt?: Prisma.DateTimeFilter<"User"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string + roleId?: Prisma.IntNullableFilter<"User"> | number | null +} + +export type UserCreateManyRoleInput = { + id: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string +} + +export type UserUpdateWithoutRoleInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutRoleInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateManyWithoutRoleInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + +/** + * Count Type UserCountOutputType + */ + +export type UserCountOutputType = { + sessions: number + accounts: number +} + +export type UserCountOutputTypeSelect = { + sessions?: boolean | UserCountOutputTypeCountSessionsArgs + accounts?: boolean | UserCountOutputTypeCountAccountsArgs +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the UserCountOutputType + */ + select?: Prisma.UserCountOutputTypeSelect | null +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountSessionsArgs = { + where?: Prisma.SessionWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountAccountsArgs = { + where?: Prisma.AccountWhereInput +} + + +export type UserSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + createdAt?: boolean + updatedAt?: boolean + roleId?: boolean + role?: boolean | Prisma.User$roleArgs + sessions?: boolean | Prisma.User$sessionsArgs + accounts?: boolean | Prisma.User$accountsArgs + _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs +}, ExtArgs["result"]["user"]> + +export type UserSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + createdAt?: boolean + updatedAt?: boolean + roleId?: boolean + role?: boolean | Prisma.User$roleArgs +}, ExtArgs["result"]["user"]> + +export type UserSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + createdAt?: boolean + updatedAt?: boolean + roleId?: boolean + role?: boolean | Prisma.User$roleArgs +}, ExtArgs["result"]["user"]> + +export type UserSelectScalar = { + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + createdAt?: boolean + updatedAt?: boolean + roleId?: boolean +} + +export type UserOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "email" | "emailVerified" | "image" | "createdAt" | "updatedAt" | "roleId", ExtArgs["result"]["user"]> +export type UserInclude = { + role?: boolean | Prisma.User$roleArgs + sessions?: boolean | Prisma.User$sessionsArgs + accounts?: boolean | Prisma.User$accountsArgs + _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs +} +export type UserIncludeCreateManyAndReturn = { + role?: boolean | Prisma.User$roleArgs +} +export type UserIncludeUpdateManyAndReturn = { + role?: boolean | Prisma.User$roleArgs +} + +export type $UserPayload = { + name: "User" + objects: { + role: Prisma.$UserRolePayload | null + sessions: Prisma.$SessionPayload[] + accounts: Prisma.$AccountPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + email: string + emailVerified: boolean + image: string | null + createdAt: Date + updatedAt: Date + roleId: number | null + }, ExtArgs["result"]["user"]> + composites: {} +} + +export type UserGetPayload = runtime.Types.Result.GetResult + +export type UserCountArgs = + Omit & { + select?: UserCountAggregateInputType | true + } + +export interface UserDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } + /** + * Find zero or one User that matches the filter. + * @param {UserFindUniqueArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__UserClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one User that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first User that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindFirstArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__UserClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first User that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindFirstOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__UserClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Users that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Users + * const users = await prisma.user.findMany() + * + * // Get first 10 Users + * const users = await prisma.user.findMany({ take: 10 }) + * + * // Only select the `id` + * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a User. + * @param {UserCreateArgs} args - Arguments to create a User. + * @example + * // Create one User + * const User = await prisma.user.create({ + * data: { + * // ... data to create a User + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__UserClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Users. + * @param {UserCreateManyArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Users and returns the data saved in the database. + * @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Users and only return the `id` + * const userWithIdOnly = await prisma.user.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a User. + * @param {UserDeleteArgs} args - Arguments to delete one User. + * @example + * // Delete one User + * const User = await prisma.user.delete({ + * where: { + * // ... filter to delete one User + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__UserClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one User. + * @param {UserUpdateArgs} args - Arguments to update one User. + * @example + * // Update one User + * const user = await prisma.user.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__UserClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Users. + * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. + * @example + * // Delete a few Users + * const { count } = await prisma.user.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Users + * const user = await prisma.user.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Users and returns the data updated in the database. + * @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users. + * @example + * // Update many Users + * const user = await prisma.user.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Users and only return the `id` + * const userWithIdOnly = await prisma.user.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one User. + * @param {UserUpsertArgs} args - Arguments to update or create a User. + * @example + * // Update or create a User + * const user = await prisma.user.upsert({ + * create: { + * // ... data to create a User + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the User we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__UserClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserCountArgs} args - Arguments to filter Users to count. + * @example + * // Count the number of Users + * const count = await prisma.user.count({ + * where: { + * // ... the filter for the Users we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends UserGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: UserGroupByArgs['orderBy'] } + : { orderBy?: UserGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the User model + */ +readonly fields: UserFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for User. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__UserClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + role = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserRoleClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + sessions = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + accounts = {}>(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 + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the User model + */ +export interface UserFieldRefs { + readonly id: Prisma.FieldRef<"User", 'String'> + readonly name: Prisma.FieldRef<"User", 'String'> + readonly email: Prisma.FieldRef<"User", 'String'> + readonly emailVerified: Prisma.FieldRef<"User", 'Boolean'> + readonly image: Prisma.FieldRef<"User", 'String'> + readonly createdAt: Prisma.FieldRef<"User", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"User", 'DateTime'> + readonly roleId: Prisma.FieldRef<"User", 'Int'> +} + + +// Custom InputTypes +/** + * User findUnique + */ +export type UserFindUniqueArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which User to fetch. + */ + where: Prisma.UserWhereUniqueInput +} + +/** + * User findUniqueOrThrow + */ +export type UserFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which User to fetch. + */ + where: Prisma.UserWhereUniqueInput +} + +/** + * User findFirst + */ +export type UserFindFirstArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which User to fetch. + */ + where?: Prisma.UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Users. + */ + cursor?: Prisma.UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + */ + distinct?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[] +} + +/** + * User findFirstOrThrow + */ +export type UserFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which User to fetch. + */ + where?: Prisma.UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Users. + */ + cursor?: Prisma.UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + */ + distinct?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[] +} + +/** + * User findMany + */ +export type UserFindManyArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which Users to fetch. + */ + where?: Prisma.UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Users. + */ + cursor?: Prisma.UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + distinct?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[] +} + +/** + * User create + */ +export type UserCreateArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * The data needed to create a User. + */ + data: Prisma.XOR +} + +/** + * User createMany + */ +export type UserCreateManyArgs = { + /** + * The data used to create many Users. + */ + data: Prisma.UserCreateManyInput | Prisma.UserCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * User createManyAndReturn + */ +export type UserCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelectCreateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * The data used to create many Users. + */ + data: Prisma.UserCreateManyInput | Prisma.UserCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserIncludeCreateManyAndReturn | null +} + +/** + * User update + */ +export type UserUpdateArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * The data needed to update a User. + */ + data: Prisma.XOR + /** + * Choose, which User to update. + */ + where: Prisma.UserWhereUniqueInput +} + +/** + * User updateMany + */ +export type UserUpdateManyArgs = { + /** + * The data used to update Users. + */ + data: Prisma.XOR + /** + * Filter which Users to update + */ + where?: Prisma.UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number +} + +/** + * User updateManyAndReturn + */ +export type UserUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * The data used to update Users. + */ + data: Prisma.XOR + /** + * Filter which Users to update + */ + where?: Prisma.UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserIncludeUpdateManyAndReturn | null +} + +/** + * User upsert + */ +export type UserUpsertArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * The filter to search for the User to update in case it exists. + */ + where: Prisma.UserWhereUniqueInput + /** + * In case the User found by the `where` argument doesn't exist, create a new User with this data. + */ + create: Prisma.XOR + /** + * In case the User was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * User delete + */ +export type UserDeleteArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter which User to delete. + */ + where: Prisma.UserWhereUniqueInput +} + +/** + * User deleteMany + */ +export type UserDeleteManyArgs = { + /** + * Filter which Users to delete + */ + where?: Prisma.UserWhereInput + /** + * Limit how many Users to delete. + */ + limit?: number +} + +/** + * User.role + */ +export type User$roleArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + where?: Prisma.UserRoleWhereInput +} + +/** + * User.sessions + */ +export type User$sessionsArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + where?: Prisma.SessionWhereInput + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + cursor?: Prisma.SessionWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.SessionScalarFieldEnum | Prisma.SessionScalarFieldEnum[] +} + +/** + * User.accounts + */ +export type User$accountsArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + where?: Prisma.AccountWhereInput + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + cursor?: Prisma.AccountWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * User without action + */ +export type UserDefaultArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null +} diff --git a/src/lib/generated/prisma/models/UserRole.ts b/src/lib/generated/prisma/models/UserRole.ts new file mode 100644 index 0000000..82b214a --- /dev/null +++ b/src/lib/generated/prisma/models/UserRole.ts @@ -0,0 +1,1275 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `UserRole` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model UserRole + * + */ +export type UserRoleModel = runtime.Types.Result.DefaultSelection + +export type AggregateUserRole = { + _count: UserRoleCountAggregateOutputType | null + _avg: UserRoleAvgAggregateOutputType | null + _sum: UserRoleSumAggregateOutputType | null + _min: UserRoleMinAggregateOutputType | null + _max: UserRoleMaxAggregateOutputType | null +} + +export type UserRoleAvgAggregateOutputType = { + id: number | null +} + +export type UserRoleSumAggregateOutputType = { + id: number | null +} + +export type UserRoleMinAggregateOutputType = { + id: number | null + name: string | null +} + +export type UserRoleMaxAggregateOutputType = { + id: number | null + name: string | null +} + +export type UserRoleCountAggregateOutputType = { + id: number + name: number + _all: number +} + + +export type UserRoleAvgAggregateInputType = { + id?: true +} + +export type UserRoleSumAggregateInputType = { + id?: true +} + +export type UserRoleMinAggregateInputType = { + id?: true + name?: true +} + +export type UserRoleMaxAggregateInputType = { + id?: true + name?: true +} + +export type UserRoleCountAggregateInputType = { + id?: true + name?: true + _all?: true +} + +export type UserRoleAggregateArgs = { + /** + * Filter which UserRole to aggregate. + */ + where?: Prisma.UserRoleWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserRoles to fetch. + */ + orderBy?: Prisma.UserRoleOrderByWithRelationInput | Prisma.UserRoleOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.UserRoleWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserRoles from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` UserRoles. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned UserRoles + **/ + _count?: true | UserRoleCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: UserRoleAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: UserRoleSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UserRoleMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UserRoleMaxAggregateInputType +} + +export type GetUserRoleAggregateType = { + [P in keyof T & keyof AggregateUserRole]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type UserRoleGroupByArgs = { + where?: Prisma.UserRoleWhereInput + orderBy?: Prisma.UserRoleOrderByWithAggregationInput | Prisma.UserRoleOrderByWithAggregationInput[] + by: Prisma.UserRoleScalarFieldEnum[] | Prisma.UserRoleScalarFieldEnum + having?: Prisma.UserRoleScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserRoleCountAggregateInputType | true + _avg?: UserRoleAvgAggregateInputType + _sum?: UserRoleSumAggregateInputType + _min?: UserRoleMinAggregateInputType + _max?: UserRoleMaxAggregateInputType +} + +export type UserRoleGroupByOutputType = { + id: number + name: string + _count: UserRoleCountAggregateOutputType | null + _avg: UserRoleAvgAggregateOutputType | null + _sum: UserRoleSumAggregateOutputType | null + _min: UserRoleMinAggregateOutputType | null + _max: UserRoleMaxAggregateOutputType | null +} + +type GetUserRoleGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof UserRoleGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type UserRoleWhereInput = { + AND?: Prisma.UserRoleWhereInput | Prisma.UserRoleWhereInput[] + OR?: Prisma.UserRoleWhereInput[] + NOT?: Prisma.UserRoleWhereInput | Prisma.UserRoleWhereInput[] + id?: Prisma.IntFilter<"UserRole"> | number + name?: Prisma.StringFilter<"UserRole"> | string + users?: Prisma.UserListRelationFilter +} + +export type UserRoleOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + users?: Prisma.UserOrderByRelationAggregateInput +} + +export type UserRoleWhereUniqueInput = Prisma.AtLeast<{ + id?: number + AND?: Prisma.UserRoleWhereInput | Prisma.UserRoleWhereInput[] + OR?: Prisma.UserRoleWhereInput[] + NOT?: Prisma.UserRoleWhereInput | Prisma.UserRoleWhereInput[] + name?: Prisma.StringFilter<"UserRole"> | string + users?: Prisma.UserListRelationFilter +}, "id"> + +export type UserRoleOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + _count?: Prisma.UserRoleCountOrderByAggregateInput + _avg?: Prisma.UserRoleAvgOrderByAggregateInput + _max?: Prisma.UserRoleMaxOrderByAggregateInput + _min?: Prisma.UserRoleMinOrderByAggregateInput + _sum?: Prisma.UserRoleSumOrderByAggregateInput +} + +export type UserRoleScalarWhereWithAggregatesInput = { + AND?: Prisma.UserRoleScalarWhereWithAggregatesInput | Prisma.UserRoleScalarWhereWithAggregatesInput[] + OR?: Prisma.UserRoleScalarWhereWithAggregatesInput[] + NOT?: Prisma.UserRoleScalarWhereWithAggregatesInput | Prisma.UserRoleScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"UserRole"> | number + name?: Prisma.StringWithAggregatesFilter<"UserRole"> | string +} + +export type UserRoleCreateInput = { + name: string + users?: Prisma.UserCreateNestedManyWithoutRoleInput +} + +export type UserRoleUncheckedCreateInput = { + id?: number + name: string + users?: Prisma.UserUncheckedCreateNestedManyWithoutRoleInput +} + +export type UserRoleUpdateInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + users?: Prisma.UserUpdateManyWithoutRoleNestedInput +} + +export type UserRoleUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + users?: Prisma.UserUncheckedUpdateManyWithoutRoleNestedInput +} + +export type UserRoleCreateManyInput = { + id?: number + name: string +} + +export type UserRoleUpdateManyMutationInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type UserRoleUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type UserRoleNullableScalarRelationFilter = { + is?: Prisma.UserRoleWhereInput | null + isNot?: Prisma.UserRoleWhereInput | null +} + +export type UserRoleCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type UserRoleAvgOrderByAggregateInput = { + id?: Prisma.SortOrder +} + +export type UserRoleMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type UserRoleMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type UserRoleSumOrderByAggregateInput = { + id?: Prisma.SortOrder +} + +export type UserRoleCreateNestedOneWithoutUsersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserRoleCreateOrConnectWithoutUsersInput + connect?: Prisma.UserRoleWhereUniqueInput +} + +export type UserRoleUpdateOneWithoutUsersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserRoleCreateOrConnectWithoutUsersInput + upsert?: Prisma.UserRoleUpsertWithoutUsersInput + disconnect?: Prisma.UserRoleWhereInput | boolean + delete?: Prisma.UserRoleWhereInput | boolean + connect?: Prisma.UserRoleWhereUniqueInput + update?: Prisma.XOR, Prisma.UserRoleUncheckedUpdateWithoutUsersInput> +} + +export type IntFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type UserRoleCreateWithoutUsersInput = { + name: string +} + +export type UserRoleUncheckedCreateWithoutUsersInput = { + id?: number + name: string +} + +export type UserRoleCreateOrConnectWithoutUsersInput = { + where: Prisma.UserRoleWhereUniqueInput + create: Prisma.XOR +} + +export type UserRoleUpsertWithoutUsersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserRoleWhereInput +} + +export type UserRoleUpdateToOneWithWhereWithoutUsersInput = { + where?: Prisma.UserRoleWhereInput + data: Prisma.XOR +} + +export type UserRoleUpdateWithoutUsersInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type UserRoleUncheckedUpdateWithoutUsersInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string +} + + +/** + * Count Type UserRoleCountOutputType + */ + +export type UserRoleCountOutputType = { + users: number +} + +export type UserRoleCountOutputTypeSelect = { + users?: boolean | UserRoleCountOutputTypeCountUsersArgs +} + +/** + * UserRoleCountOutputType without action + */ +export type UserRoleCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the UserRoleCountOutputType + */ + select?: Prisma.UserRoleCountOutputTypeSelect | null +} + +/** + * UserRoleCountOutputType without action + */ +export type UserRoleCountOutputTypeCountUsersArgs = { + where?: Prisma.UserWhereInput +} + + +export type UserRoleSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + users?: boolean | Prisma.UserRole$usersArgs + _count?: boolean | Prisma.UserRoleCountOutputTypeDefaultArgs +}, ExtArgs["result"]["userRole"]> + +export type UserRoleSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["userRole"]> + +export type UserRoleSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["userRole"]> + +export type UserRoleSelectScalar = { + id?: boolean + name?: boolean +} + +export type UserRoleOmit = runtime.Types.Extensions.GetOmit<"id" | "name", ExtArgs["result"]["userRole"]> +export type UserRoleInclude = { + users?: boolean | Prisma.UserRole$usersArgs + _count?: boolean | Prisma.UserRoleCountOutputTypeDefaultArgs +} +export type UserRoleIncludeCreateManyAndReturn = {} +export type UserRoleIncludeUpdateManyAndReturn = {} + +export type $UserRolePayload = { + name: "UserRole" + objects: { + users: Prisma.$UserPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + name: string + }, ExtArgs["result"]["userRole"]> + composites: {} +} + +export type UserRoleGetPayload = runtime.Types.Result.GetResult + +export type UserRoleCountArgs = + Omit & { + select?: UserRoleCountAggregateInputType | true + } + +export interface UserRoleDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['UserRole'], meta: { name: 'UserRole' } } + /** + * Find zero or one UserRole that matches the filter. + * @param {UserRoleFindUniqueArgs} args - Arguments to find a UserRole + * @example + * // Get one UserRole + * const userRole = await prisma.userRole.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__UserRoleClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one UserRole that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {UserRoleFindUniqueOrThrowArgs} args - Arguments to find a UserRole + * @example + * // Get one UserRole + * const userRole = await prisma.userRole.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__UserRoleClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first UserRole that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserRoleFindFirstArgs} args - Arguments to find a UserRole + * @example + * // Get one UserRole + * const userRole = await prisma.userRole.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__UserRoleClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first UserRole that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserRoleFindFirstOrThrowArgs} args - Arguments to find a UserRole + * @example + * // Get one UserRole + * const userRole = await prisma.userRole.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__UserRoleClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more UserRoles that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserRoleFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all UserRoles + * const userRoles = await prisma.userRole.findMany() + * + * // Get first 10 UserRoles + * const userRoles = await prisma.userRole.findMany({ take: 10 }) + * + * // Only select the `id` + * const userRoleWithIdOnly = await prisma.userRole.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a UserRole. + * @param {UserRoleCreateArgs} args - Arguments to create a UserRole. + * @example + * // Create one UserRole + * const UserRole = await prisma.userRole.create({ + * data: { + * // ... data to create a UserRole + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__UserRoleClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many UserRoles. + * @param {UserRoleCreateManyArgs} args - Arguments to create many UserRoles. + * @example + * // Create many UserRoles + * const userRole = await prisma.userRole.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many UserRoles and returns the data saved in the database. + * @param {UserRoleCreateManyAndReturnArgs} args - Arguments to create many UserRoles. + * @example + * // Create many UserRoles + * const userRole = await prisma.userRole.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many UserRoles and only return the `id` + * const userRoleWithIdOnly = await prisma.userRole.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a UserRole. + * @param {UserRoleDeleteArgs} args - Arguments to delete one UserRole. + * @example + * // Delete one UserRole + * const UserRole = await prisma.userRole.delete({ + * where: { + * // ... filter to delete one UserRole + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__UserRoleClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one UserRole. + * @param {UserRoleUpdateArgs} args - Arguments to update one UserRole. + * @example + * // Update one UserRole + * const userRole = await prisma.userRole.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__UserRoleClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more UserRoles. + * @param {UserRoleDeleteManyArgs} args - Arguments to filter UserRoles to delete. + * @example + * // Delete a few UserRoles + * const { count } = await prisma.userRole.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more UserRoles. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserRoleUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many UserRoles + * const userRole = await prisma.userRole.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more UserRoles and returns the data updated in the database. + * @param {UserRoleUpdateManyAndReturnArgs} args - Arguments to update many UserRoles. + * @example + * // Update many UserRoles + * const userRole = await prisma.userRole.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more UserRoles and only return the `id` + * const userRoleWithIdOnly = await prisma.userRole.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one UserRole. + * @param {UserRoleUpsertArgs} args - Arguments to update or create a UserRole. + * @example + * // Update or create a UserRole + * const userRole = await prisma.userRole.upsert({ + * create: { + * // ... data to create a UserRole + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the UserRole we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__UserRoleClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of UserRoles. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserRoleCountArgs} args - Arguments to filter UserRoles to count. + * @example + * // Count the number of UserRoles + * const count = await prisma.userRole.count({ + * where: { + * // ... the filter for the UserRoles we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a UserRole. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserRoleAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by UserRole. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserRoleGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends UserRoleGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: UserRoleGroupByArgs['orderBy'] } + : { orderBy?: UserRoleGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserRoleGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the UserRole model + */ +readonly fields: UserRoleFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for UserRole. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__UserRoleClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + users = {}>(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 + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the UserRole model + */ +export interface UserRoleFieldRefs { + readonly id: Prisma.FieldRef<"UserRole", 'Int'> + readonly name: Prisma.FieldRef<"UserRole", 'String'> +} + + +// Custom InputTypes +/** + * UserRole findUnique + */ +export type UserRoleFindUniqueArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * Filter, which UserRole to fetch. + */ + where: Prisma.UserRoleWhereUniqueInput +} + +/** + * UserRole findUniqueOrThrow + */ +export type UserRoleFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * Filter, which UserRole to fetch. + */ + where: Prisma.UserRoleWhereUniqueInput +} + +/** + * UserRole findFirst + */ +export type UserRoleFindFirstArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * Filter, which UserRole to fetch. + */ + where?: Prisma.UserRoleWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserRoles to fetch. + */ + orderBy?: Prisma.UserRoleOrderByWithRelationInput | Prisma.UserRoleOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for UserRoles. + */ + cursor?: Prisma.UserRoleWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserRoles from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` UserRoles. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UserRoles. + */ + distinct?: Prisma.UserRoleScalarFieldEnum | Prisma.UserRoleScalarFieldEnum[] +} + +/** + * UserRole findFirstOrThrow + */ +export type UserRoleFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * Filter, which UserRole to fetch. + */ + where?: Prisma.UserRoleWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserRoles to fetch. + */ + orderBy?: Prisma.UserRoleOrderByWithRelationInput | Prisma.UserRoleOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for UserRoles. + */ + cursor?: Prisma.UserRoleWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserRoles from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` UserRoles. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UserRoles. + */ + distinct?: Prisma.UserRoleScalarFieldEnum | Prisma.UserRoleScalarFieldEnum[] +} + +/** + * UserRole findMany + */ +export type UserRoleFindManyArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * Filter, which UserRoles to fetch. + */ + where?: Prisma.UserRoleWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserRoles to fetch. + */ + orderBy?: Prisma.UserRoleOrderByWithRelationInput | Prisma.UserRoleOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing UserRoles. + */ + cursor?: Prisma.UserRoleWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserRoles from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` UserRoles. + */ + skip?: number + distinct?: Prisma.UserRoleScalarFieldEnum | Prisma.UserRoleScalarFieldEnum[] +} + +/** + * UserRole create + */ +export type UserRoleCreateArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * The data needed to create a UserRole. + */ + data: Prisma.XOR +} + +/** + * UserRole createMany + */ +export type UserRoleCreateManyArgs = { + /** + * The data used to create many UserRoles. + */ + data: Prisma.UserRoleCreateManyInput | Prisma.UserRoleCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * UserRole createManyAndReturn + */ +export type UserRoleCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelectCreateManyAndReturn | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * The data used to create many UserRoles. + */ + data: Prisma.UserRoleCreateManyInput | Prisma.UserRoleCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * UserRole update + */ +export type UserRoleUpdateArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * The data needed to update a UserRole. + */ + data: Prisma.XOR + /** + * Choose, which UserRole to update. + */ + where: Prisma.UserRoleWhereUniqueInput +} + +/** + * UserRole updateMany + */ +export type UserRoleUpdateManyArgs = { + /** + * The data used to update UserRoles. + */ + data: Prisma.XOR + /** + * Filter which UserRoles to update + */ + where?: Prisma.UserRoleWhereInput + /** + * Limit how many UserRoles to update. + */ + limit?: number +} + +/** + * UserRole updateManyAndReturn + */ +export type UserRoleUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * The data used to update UserRoles. + */ + data: Prisma.XOR + /** + * Filter which UserRoles to update + */ + where?: Prisma.UserRoleWhereInput + /** + * Limit how many UserRoles to update. + */ + limit?: number +} + +/** + * UserRole upsert + */ +export type UserRoleUpsertArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * The filter to search for the UserRole to update in case it exists. + */ + where: Prisma.UserRoleWhereUniqueInput + /** + * In case the UserRole found by the `where` argument doesn't exist, create a new UserRole with this data. + */ + create: Prisma.XOR + /** + * In case the UserRole was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * UserRole delete + */ +export type UserRoleDeleteArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null + /** + * Filter which UserRole to delete. + */ + where: Prisma.UserRoleWhereUniqueInput +} + +/** + * UserRole deleteMany + */ +export type UserRoleDeleteManyArgs = { + /** + * Filter which UserRoles to delete + */ + where?: Prisma.UserRoleWhereInput + /** + * Limit how many UserRoles to delete. + */ + limit?: number +} + +/** + * UserRole.users + */ +export type UserRole$usersArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + where?: Prisma.UserWhereInput + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[] + cursor?: Prisma.UserWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[] +} + +/** + * UserRole without action + */ +export type UserRoleDefaultArgs = { + /** + * Select specific fields to fetch from the UserRole + */ + select?: Prisma.UserRoleSelect | null + /** + * Omit specific fields from the UserRole + */ + omit?: Prisma.UserRoleOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserRoleInclude | null +} diff --git a/src/lib/generated/prisma/models/Verification.ts b/src/lib/generated/prisma/models/Verification.ts new file mode 100644 index 0000000..920303f --- /dev/null +++ b/src/lib/generated/prisma/models/Verification.ts @@ -0,0 +1,1172 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Verification` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model Verification + * + */ +export type VerificationModel = runtime.Types.Result.DefaultSelection + +export type AggregateVerification = { + _count: VerificationCountAggregateOutputType | null + _min: VerificationMinAggregateOutputType | null + _max: VerificationMaxAggregateOutputType | null +} + +export type VerificationMinAggregateOutputType = { + id: string | null + identifier: string | null + value: string | null + expiresAt: Date | null + createdAt: Date | null + updatedAt: Date | null +} + +export type VerificationMaxAggregateOutputType = { + id: string | null + identifier: string | null + value: string | null + expiresAt: Date | null + createdAt: Date | null + updatedAt: Date | null +} + +export type VerificationCountAggregateOutputType = { + id: number + identifier: number + value: number + expiresAt: number + createdAt: number + updatedAt: number + _all: number +} + + +export type VerificationMinAggregateInputType = { + id?: true + identifier?: true + value?: true + expiresAt?: true + createdAt?: true + updatedAt?: true +} + +export type VerificationMaxAggregateInputType = { + id?: true + identifier?: true + value?: true + expiresAt?: true + createdAt?: true + updatedAt?: true +} + +export type VerificationCountAggregateInputType = { + id?: true + identifier?: true + value?: true + expiresAt?: true + createdAt?: true + updatedAt?: true + _all?: true +} + +export type VerificationAggregateArgs = { + /** + * Filter which Verification to aggregate. + */ + where?: Prisma.VerificationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Verifications to fetch. + */ + orderBy?: Prisma.VerificationOrderByWithRelationInput | Prisma.VerificationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.VerificationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Verifications from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Verifications. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Verifications + **/ + _count?: true | VerificationCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: VerificationMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: VerificationMaxAggregateInputType +} + +export type GetVerificationAggregateType = { + [P in keyof T & keyof AggregateVerification]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type VerificationGroupByArgs = { + where?: Prisma.VerificationWhereInput + orderBy?: Prisma.VerificationOrderByWithAggregationInput | Prisma.VerificationOrderByWithAggregationInput[] + by: Prisma.VerificationScalarFieldEnum[] | Prisma.VerificationScalarFieldEnum + having?: Prisma.VerificationScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: VerificationCountAggregateInputType | true + _min?: VerificationMinAggregateInputType + _max?: VerificationMaxAggregateInputType +} + +export type VerificationGroupByOutputType = { + id: string + identifier: string + value: string + expiresAt: Date + createdAt: Date + updatedAt: Date + _count: VerificationCountAggregateOutputType | null + _min: VerificationMinAggregateOutputType | null + _max: VerificationMaxAggregateOutputType | null +} + +type GetVerificationGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof VerificationGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type VerificationWhereInput = { + AND?: Prisma.VerificationWhereInput | Prisma.VerificationWhereInput[] + OR?: Prisma.VerificationWhereInput[] + NOT?: Prisma.VerificationWhereInput | Prisma.VerificationWhereInput[] + id?: Prisma.StringFilter<"Verification"> | string + identifier?: Prisma.StringFilter<"Verification"> | string + value?: Prisma.StringFilter<"Verification"> | string + expiresAt?: Prisma.DateTimeFilter<"Verification"> | Date | string + createdAt?: Prisma.DateTimeFilter<"Verification"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Verification"> | Date | string +} + +export type VerificationOrderByWithRelationInput = { + id?: Prisma.SortOrder + identifier?: Prisma.SortOrder + value?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type VerificationWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.VerificationWhereInput | Prisma.VerificationWhereInput[] + OR?: Prisma.VerificationWhereInput[] + NOT?: Prisma.VerificationWhereInput | Prisma.VerificationWhereInput[] + identifier?: Prisma.StringFilter<"Verification"> | string + value?: Prisma.StringFilter<"Verification"> | string + expiresAt?: Prisma.DateTimeFilter<"Verification"> | Date | string + createdAt?: Prisma.DateTimeFilter<"Verification"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Verification"> | Date | string +}, "id"> + +export type VerificationOrderByWithAggregationInput = { + id?: Prisma.SortOrder + identifier?: Prisma.SortOrder + value?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + _count?: Prisma.VerificationCountOrderByAggregateInput + _max?: Prisma.VerificationMaxOrderByAggregateInput + _min?: Prisma.VerificationMinOrderByAggregateInput +} + +export type VerificationScalarWhereWithAggregatesInput = { + AND?: Prisma.VerificationScalarWhereWithAggregatesInput | Prisma.VerificationScalarWhereWithAggregatesInput[] + OR?: Prisma.VerificationScalarWhereWithAggregatesInput[] + NOT?: Prisma.VerificationScalarWhereWithAggregatesInput | Prisma.VerificationScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Verification"> | string + identifier?: Prisma.StringWithAggregatesFilter<"Verification"> | string + value?: Prisma.StringWithAggregatesFilter<"Verification"> | string + expiresAt?: Prisma.DateTimeWithAggregatesFilter<"Verification"> | Date | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Verification"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Verification"> | Date | string +} + +export type VerificationCreateInput = { + id: string + identifier: string + value: string + expiresAt: Date | string + createdAt?: Date | string + updatedAt?: Date | string +} + +export type VerificationUncheckedCreateInput = { + id: string + identifier: string + value: string + expiresAt: Date | string + createdAt?: Date | string + updatedAt?: Date | string +} + +export type VerificationUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identifier?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VerificationUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identifier?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VerificationCreateManyInput = { + id: string + identifier: string + value: string + expiresAt: Date | string + createdAt?: Date | string + updatedAt?: Date | string +} + +export type VerificationUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identifier?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VerificationUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identifier?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.StringFieldUpdateOperationsInput | string + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VerificationCountOrderByAggregateInput = { + id?: Prisma.SortOrder + identifier?: Prisma.SortOrder + value?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type VerificationMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + identifier?: Prisma.SortOrder + value?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type VerificationMinOrderByAggregateInput = { + id?: Prisma.SortOrder + identifier?: Prisma.SortOrder + value?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + + + +export type VerificationSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + identifier?: boolean + value?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["verification"]> + +export type VerificationSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + identifier?: boolean + value?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["verification"]> + +export type VerificationSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + identifier?: boolean + value?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["verification"]> + +export type VerificationSelectScalar = { + id?: boolean + identifier?: boolean + value?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean +} + +export type VerificationOmit = runtime.Types.Extensions.GetOmit<"id" | "identifier" | "value" | "expiresAt" | "createdAt" | "updatedAt", ExtArgs["result"]["verification"]> + +export type $VerificationPayload = { + name: "Verification" + objects: {} + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + identifier: string + value: string + expiresAt: Date + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["verification"]> + composites: {} +} + +export type VerificationGetPayload = runtime.Types.Result.GetResult + +export type VerificationCountArgs = + Omit & { + select?: VerificationCountAggregateInputType | true + } + +export interface VerificationDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Verification'], meta: { name: 'Verification' } } + /** + * Find zero or one Verification that matches the filter. + * @param {VerificationFindUniqueArgs} args - Arguments to find a Verification + * @example + * // Get one Verification + * const verification = await prisma.verification.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Verification that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {VerificationFindUniqueOrThrowArgs} args - Arguments to find a Verification + * @example + * // Get one Verification + * const verification = await prisma.verification.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Verification that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationFindFirstArgs} args - Arguments to find a Verification + * @example + * // Get one Verification + * const verification = await prisma.verification.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__VerificationClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Verification that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationFindFirstOrThrowArgs} args - Arguments to find a Verification + * @example + * // Get one Verification + * const verification = await prisma.verification.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__VerificationClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Verifications that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Verifications + * const verifications = await prisma.verification.findMany() + * + * // Get first 10 Verifications + * const verifications = await prisma.verification.findMany({ take: 10 }) + * + * // Only select the `id` + * const verificationWithIdOnly = await prisma.verification.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Verification. + * @param {VerificationCreateArgs} args - Arguments to create a Verification. + * @example + * // Create one Verification + * const Verification = await prisma.verification.create({ + * data: { + * // ... data to create a Verification + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Verifications. + * @param {VerificationCreateManyArgs} args - Arguments to create many Verifications. + * @example + * // Create many Verifications + * const verification = await prisma.verification.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Verifications and returns the data saved in the database. + * @param {VerificationCreateManyAndReturnArgs} args - Arguments to create many Verifications. + * @example + * // Create many Verifications + * const verification = await prisma.verification.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Verifications and only return the `id` + * const verificationWithIdOnly = await prisma.verification.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Verification. + * @param {VerificationDeleteArgs} args - Arguments to delete one Verification. + * @example + * // Delete one Verification + * const Verification = await prisma.verification.delete({ + * where: { + * // ... filter to delete one Verification + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Verification. + * @param {VerificationUpdateArgs} args - Arguments to update one Verification. + * @example + * // Update one Verification + * const verification = await prisma.verification.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Verifications. + * @param {VerificationDeleteManyArgs} args - Arguments to filter Verifications to delete. + * @example + * // Delete a few Verifications + * const { count } = await prisma.verification.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Verifications. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Verifications + * const verification = await prisma.verification.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Verifications and returns the data updated in the database. + * @param {VerificationUpdateManyAndReturnArgs} args - Arguments to update many Verifications. + * @example + * // Update many Verifications + * const verification = await prisma.verification.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Verifications and only return the `id` + * const verificationWithIdOnly = await prisma.verification.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Verification. + * @param {VerificationUpsertArgs} args - Arguments to update or create a Verification. + * @example + * // Update or create a Verification + * const verification = await prisma.verification.upsert({ + * create: { + * // ... data to create a Verification + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Verification we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Verifications. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationCountArgs} args - Arguments to filter Verifications to count. + * @example + * // Count the number of Verifications + * const count = await prisma.verification.count({ + * where: { + * // ... the filter for the Verifications we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Verification. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Verification. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends VerificationGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: VerificationGroupByArgs['orderBy'] } + : { orderBy?: VerificationGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetVerificationGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Verification model + */ +readonly fields: VerificationFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Verification. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__VerificationClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Verification model + */ +export interface VerificationFieldRefs { + readonly id: Prisma.FieldRef<"Verification", 'String'> + readonly identifier: Prisma.FieldRef<"Verification", 'String'> + readonly value: Prisma.FieldRef<"Verification", 'String'> + readonly expiresAt: Prisma.FieldRef<"Verification", 'DateTime'> + readonly createdAt: Prisma.FieldRef<"Verification", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Verification", 'DateTime'> +} + + +// Custom InputTypes +/** + * Verification findUnique + */ +export type VerificationFindUniqueArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * Filter, which Verification to fetch. + */ + where: Prisma.VerificationWhereUniqueInput +} + +/** + * Verification findUniqueOrThrow + */ +export type VerificationFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * Filter, which Verification to fetch. + */ + where: Prisma.VerificationWhereUniqueInput +} + +/** + * Verification findFirst + */ +export type VerificationFindFirstArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * Filter, which Verification to fetch. + */ + where?: Prisma.VerificationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Verifications to fetch. + */ + orderBy?: Prisma.VerificationOrderByWithRelationInput | Prisma.VerificationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Verifications. + */ + cursor?: Prisma.VerificationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Verifications from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Verifications. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Verifications. + */ + distinct?: Prisma.VerificationScalarFieldEnum | Prisma.VerificationScalarFieldEnum[] +} + +/** + * Verification findFirstOrThrow + */ +export type VerificationFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * Filter, which Verification to fetch. + */ + where?: Prisma.VerificationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Verifications to fetch. + */ + orderBy?: Prisma.VerificationOrderByWithRelationInput | Prisma.VerificationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Verifications. + */ + cursor?: Prisma.VerificationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Verifications from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Verifications. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Verifications. + */ + distinct?: Prisma.VerificationScalarFieldEnum | Prisma.VerificationScalarFieldEnum[] +} + +/** + * Verification findMany + */ +export type VerificationFindManyArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * Filter, which Verifications to fetch. + */ + where?: Prisma.VerificationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Verifications to fetch. + */ + orderBy?: Prisma.VerificationOrderByWithRelationInput | Prisma.VerificationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Verifications. + */ + cursor?: Prisma.VerificationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Verifications from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Verifications. + */ + skip?: number + distinct?: Prisma.VerificationScalarFieldEnum | Prisma.VerificationScalarFieldEnum[] +} + +/** + * Verification create + */ +export type VerificationCreateArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * The data needed to create a Verification. + */ + data: Prisma.XOR +} + +/** + * Verification createMany + */ +export type VerificationCreateManyArgs = { + /** + * The data used to create many Verifications. + */ + data: Prisma.VerificationCreateManyInput | Prisma.VerificationCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Verification createManyAndReturn + */ +export type VerificationCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * The data used to create many Verifications. + */ + data: Prisma.VerificationCreateManyInput | Prisma.VerificationCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Verification update + */ +export type VerificationUpdateArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * The data needed to update a Verification. + */ + data: Prisma.XOR + /** + * Choose, which Verification to update. + */ + where: Prisma.VerificationWhereUniqueInput +} + +/** + * Verification updateMany + */ +export type VerificationUpdateManyArgs = { + /** + * The data used to update Verifications. + */ + data: Prisma.XOR + /** + * Filter which Verifications to update + */ + where?: Prisma.VerificationWhereInput + /** + * Limit how many Verifications to update. + */ + limit?: number +} + +/** + * Verification updateManyAndReturn + */ +export type VerificationUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * The data used to update Verifications. + */ + data: Prisma.XOR + /** + * Filter which Verifications to update + */ + where?: Prisma.VerificationWhereInput + /** + * Limit how many Verifications to update. + */ + limit?: number +} + +/** + * Verification upsert + */ +export type VerificationUpsertArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * The filter to search for the Verification to update in case it exists. + */ + where: Prisma.VerificationWhereUniqueInput + /** + * In case the Verification found by the `where` argument doesn't exist, create a new Verification with this data. + */ + create: Prisma.XOR + /** + * In case the Verification was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Verification delete + */ +export type VerificationDeleteArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null + /** + * Filter which Verification to delete. + */ + where: Prisma.VerificationWhereUniqueInput +} + +/** + * Verification deleteMany + */ +export type VerificationDeleteManyArgs = { + /** + * Filter which Verifications to delete + */ + where?: Prisma.VerificationWhereInput + /** + * Limit how many Verifications to delete. + */ + limit?: number +} + +/** + * Verification without action + */ +export type VerificationDefaultArgs = { + /** + * Select specific fields to fetch from the Verification + */ + select?: Prisma.VerificationSelect | null + /** + * Omit specific fields from the Verification + */ + omit?: Prisma.VerificationOmit | null +} diff --git a/src/lib/index.ts b/src/lib/index.ts new file mode 100644 index 0000000..856f2b6 --- /dev/null +++ b/src/lib/index.ts @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/src/routes/+error.svelte b/src/routes/+error.svelte new file mode 100644 index 0000000..f58b511 --- /dev/null +++ b/src/routes/+error.svelte @@ -0,0 +1,16 @@ + + + + {#if $page.status === 403} +

Not Authorized

+

+ You don't have permission to view this page. Click here to return home. +

+ {/if} + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 0000000..29c27a8 --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,14 @@ + + + + + +
+ {@render children()} +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte new file mode 100644 index 0000000..83b58d8 --- /dev/null +++ b/src/routes/+page.svelte @@ -0,0 +1,7 @@ + + +
+

Hello

+
diff --git a/src/routes/layout.css b/src/routes/layout.css new file mode 100644 index 0000000..cd67023 --- /dev/null +++ b/src/routes/layout.css @@ -0,0 +1,3 @@ +@import 'tailwindcss'; +@plugin '@tailwindcss/forms'; +@plugin '@tailwindcss/typography'; diff --git a/src/routes/login/+page.svelte b/src/routes/login/+page.svelte new file mode 100644 index 0000000..1cfc39f --- /dev/null +++ b/src/routes/login/+page.svelte @@ -0,0 +1,52 @@ + + + +
+ {#if error} + {error} + {/if} +
+

Login

+ + + +
+
+ Or + +
+
+
diff --git a/src/routes/page.svelte.spec.ts b/src/routes/page.svelte.spec.ts new file mode 100644 index 0000000..d54f00a --- /dev/null +++ b/src/routes/page.svelte.spec.ts @@ -0,0 +1,13 @@ +import { page } from 'vitest/browser'; +import { describe, expect, it } from 'vitest'; +import { render } from 'vitest-browser-svelte'; +import Page from './+page.svelte'; + +describe('/+page.svelte', () => { + it('should render h1', async () => { + render(Page); + + const heading = page.getByRole('heading', { level: 1 }); + await expect.element(heading).toBeInTheDocument(); + }); +}); diff --git a/src/routes/register/+page.server.ts b/src/routes/register/+page.server.ts new file mode 100644 index 0000000..b73145e --- /dev/null +++ b/src/routes/register/+page.server.ts @@ -0,0 +1,35 @@ +import type { Actions } from "./$types"; +import { auth } from "$lib/auth"; +import { fail } from "@sveltejs/kit"; + +export const actions: Actions = { + default: async ({ request }) => { + const data = await request.formData(); + + const firstName = data.get('firstName') as string; + const lastName = data.get('lastName') as string; + const email = data.get('email') as string; + const password = data.get('password') as string; + const password2 = data.get('password2') as string; + + if (password != password2) { + return fail(400, 'an email address is required!'); + } + + try { + const response = await auth.api.signUpEmail({ + body: { + name: `${firstName} ${lastName}`, + email: email, + password: password + } + }) + + if (response.user) { + return { success: true } + } + } catch (err) { + return fail(400, err); + } + } +} \ No newline at end of file diff --git a/src/routes/register/+page.svelte b/src/routes/register/+page.svelte new file mode 100644 index 0000000..df9b876 --- /dev/null +++ b/src/routes/register/+page.svelte @@ -0,0 +1,16 @@ + + + +
+ + + + + + +
+
diff --git a/static/dark/web_dark_rd_SI.svg b/static/dark/web_dark_rd_SI.svg new file mode 100644 index 0000000..d07be5c --- /dev/null +++ b/static/dark/web_dark_rd_SI.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/dark/web_dark_rd_SU.svg b/static/dark/web_dark_rd_SU.svg new file mode 100644 index 0000000..60964db --- /dev/null +++ b/static/dark/web_dark_rd_SU.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/dark/web_dark_rd_ctn.svg b/static/dark/web_dark_rd_ctn.svg new file mode 100644 index 0000000..3a380fe --- /dev/null +++ b/static/dark/web_dark_rd_ctn.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/dark/web_dark_rd_na.svg b/static/dark/web_dark_rd_na.svg new file mode 100644 index 0000000..fe7bfb2 --- /dev/null +++ b/static/dark/web_dark_rd_na.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/dark/web_dark_sq_SI.svg b/static/dark/web_dark_sq_SI.svg new file mode 100644 index 0000000..4288eec --- /dev/null +++ b/static/dark/web_dark_sq_SI.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/dark/web_dark_sq_SU.svg b/static/dark/web_dark_sq_SU.svg new file mode 100644 index 0000000..6e3332d --- /dev/null +++ b/static/dark/web_dark_sq_SU.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/dark/web_dark_sq_ctn.svg b/static/dark/web_dark_sq_ctn.svg new file mode 100644 index 0000000..eb33932 --- /dev/null +++ b/static/dark/web_dark_sq_ctn.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/dark/web_dark_sq_na.svg b/static/dark/web_dark_sq_na.svg new file mode 100644 index 0000000..191774b --- /dev/null +++ b/static/dark/web_dark_sq_na.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/light/web_light_rd_SI.svg b/static/light/web_light_rd_SI.svg new file mode 100644 index 0000000..0f988d2 --- /dev/null +++ b/static/light/web_light_rd_SI.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/light/web_light_rd_SU.svg b/static/light/web_light_rd_SU.svg new file mode 100644 index 0000000..f072207 --- /dev/null +++ b/static/light/web_light_rd_SU.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/light/web_light_rd_ctn.svg b/static/light/web_light_rd_ctn.svg new file mode 100644 index 0000000..e21fa8e --- /dev/null +++ b/static/light/web_light_rd_ctn.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/light/web_light_rd_na.svg b/static/light/web_light_rd_na.svg new file mode 100644 index 0000000..164f290 --- /dev/null +++ b/static/light/web_light_rd_na.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/light/web_light_sq_SI.svg b/static/light/web_light_sq_SI.svg new file mode 100644 index 0000000..c1b5c78 --- /dev/null +++ b/static/light/web_light_sq_SI.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/light/web_light_sq_SU.svg b/static/light/web_light_sq_SU.svg new file mode 100644 index 0000000..88da81a --- /dev/null +++ b/static/light/web_light_sq_SU.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/light/web_light_sq_ctn.svg b/static/light/web_light_sq_ctn.svg new file mode 100644 index 0000000..63defc2 --- /dev/null +++ b/static/light/web_light_sq_ctn.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/static/light/web_light_sq_na.svg b/static/light/web_light_sq_na.svg new file mode 100644 index 0000000..814e100 --- /dev/null +++ b/static/light/web_light_sq_na.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/neutral/web_neutral_rd_SI.svg b/static/neutral/web_neutral_rd_SI.svg new file mode 100644 index 0000000..74b3e5c --- /dev/null +++ b/static/neutral/web_neutral_rd_SI.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/neutral/web_neutral_rd_SU.svg b/static/neutral/web_neutral_rd_SU.svg new file mode 100644 index 0000000..dc0858f --- /dev/null +++ b/static/neutral/web_neutral_rd_SU.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/neutral/web_neutral_rd_ctn.svg b/static/neutral/web_neutral_rd_ctn.svg new file mode 100644 index 0000000..158d322 --- /dev/null +++ b/static/neutral/web_neutral_rd_ctn.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/neutral/web_neutral_rd_na.svg b/static/neutral/web_neutral_rd_na.svg new file mode 100644 index 0000000..153f8a4 --- /dev/null +++ b/static/neutral/web_neutral_rd_na.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/static/neutral/web_neutral_sq_SI.svg b/static/neutral/web_neutral_sq_SI.svg new file mode 100644 index 0000000..26b1232 --- /dev/null +++ b/static/neutral/web_neutral_sq_SI.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/neutral/web_neutral_sq_SU.svg b/static/neutral/web_neutral_sq_SU.svg new file mode 100644 index 0000000..e30f97d --- /dev/null +++ b/static/neutral/web_neutral_sq_SU.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/neutral/web_neutral_sq_ctn.svg b/static/neutral/web_neutral_sq_ctn.svg new file mode 100644 index 0000000..4f3c2de --- /dev/null +++ b/static/neutral/web_neutral_sq_ctn.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/static/neutral/web_neutral_sq_na.svg b/static/neutral/web_neutral_sq_na.svg new file mode 100644 index 0000000..47527f5 --- /dev/null +++ b/static/neutral/web_neutral_sq_na.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/static/robots.txt b/static/robots.txt new file mode 100644 index 0000000..b6dd667 --- /dev/null +++ b/static/robots.txt @@ -0,0 +1,3 @@ +# allow crawling everything by default +User-agent: * +Disallow: diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..1295460 --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,18 @@ +import adapter from '@sveltejs/adapter-auto'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + // Consult https://svelte.dev/docs/kit/integrations + // for more information about preprocessors + preprocess: vitePreprocess(), + + kit: { + // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. + // If your environment is not supported, or you settled on a specific environment, switch out the adapter. + // See https://svelte.dev/docs/kit/adapters for more information about adapters. + adapter: adapter() + } +}; + +export default config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..2c2ed3c --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "rewriteRelativeImportExtensions": true, + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } + // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias + // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files + // + // To make changes to top-level options such as include and exclude, we recommend extending + // the generated config; see https://svelte.dev/docs/kit/configuration#typescript +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..5a478a5 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,42 @@ +import tailwindcss from '@tailwindcss/vite'; +import { defineConfig } from 'vitest/config'; +import { playwright } from '@vitest/browser-playwright'; +import { sveltekit } from '@sveltejs/kit/vite'; + +export default defineConfig({ + plugins: [tailwindcss(), sveltekit()], + + test: { + expect: { requireAssertions: true }, + + projects: [ + { + extends: './vite.config.ts', + + test: { + name: 'client', + + browser: { + enabled: true, + provider: playwright(), + instances: [{ browser: 'chromium', headless: true }] + }, + + include: ['src/**/*.svelte.{test,spec}.{js,ts}'], + exclude: ['src/lib/server/**'] + } + }, + + { + extends: './vite.config.ts', + + test: { + name: 'server', + environment: 'node', + include: ['src/**/*.{test,spec}.{js,ts}'], + exclude: ['src/**/*.svelte.{test,spec}.{js,ts}'] + } + } + ] + } +});