diff --git a/backend/.gitignore b/backend/.gitignore new file mode 100644 index 0000000..8a6488f --- /dev/null +++ b/backend/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +dist/ +.env +*.js.map diff --git a/backend/nest-cli.json b/backend/nest-cli.json new file mode 100644 index 0000000..f9aa683 --- /dev/null +++ b/backend/nest-cli.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/nest-cli", + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "deleteOutDir": true + } +} diff --git a/backend/package-lock.json b/backend/package-lock.json new file mode 100644 index 0000000..72d1318 --- /dev/null +++ b/backend/package-lock.json @@ -0,0 +1,6283 @@ +{ + "name": "prosapp-api", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "prosapp-api", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@nestjs/common": "^11.1.24", + "@nestjs/config": "^4.0.4", + "@nestjs/core": "^11.1.24", + "@nestjs/jwt": "^11.0.2", + "@nestjs/passport": "^11.0.5", + "@nestjs/platform-express": "^11.1.24", + "@nestjs/platform-socket.io": "^11.1.24", + "@nestjs/swagger": "^11.4.4", + "@nestjs/websockets": "^11.1.24", + "@prisma/client": "^7.8.0", + "bcryptjs": "^3.0.3", + "class-transformer": "^0.5.1", + "class-validator": "^0.15.1", + "multer": "^2.1.1", + "passport": "^0.7.0", + "passport-jwt": "^4.0.1", + "prisma": "^7.8.0", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.2", + "socket.io": "^4.8.3" + }, + "devDependencies": { + "@nestjs/cli": "^11.0.21", + "@nestjs/schematics": "^11.1.0", + "@types/bcryptjs": "^2.4.6", + "@types/express": "^5.0.6", + "@types/multer": "^2.1.0", + "@types/node": "^25.9.1", + "@types/passport-jwt": "^4.0.1", + "ts-node": "^10.9.2", + "tsconfig-paths": "^4.2.0", + "typescript": "^6.0.3" + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.24.tgz", + "integrity": "sha512-lnw+ZM1Io+cJAkReC0NPDjqObL8NtKzKIkdgEEKC8CUmkhurYhedbicN8Y8NYHgG1uLd2GozW3+/QqPRZaN+Lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics-cli": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-19.2.24.tgz", + "integrity": "sha512-bsStZQG67J1HBqTmWxtIcobvgrn32L4UOdL7hGyOru5VxDWPNA8pRnDYavT3hnJeBkJYPoQIw8u7Dm0ecoQprw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "@angular-devkit/schematics": "19.2.24", + "@inquirer/prompts": "7.3.2", + "ansi-colors": "4.1.3", + "symbol-observable": "4.0.0", + "yargs-parser": "21.1.1" + }, + "bin": { + "schematics": "bin/schematics.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/core": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.24.tgz", + "integrity": "sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/@inquirer/prompts": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", + "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.1.2", + "@inquirer/confirm": "^5.1.6", + "@inquirer/editor": "^4.2.7", + "@inquirer/expand": "^4.0.9", + "@inquirer/input": "^4.1.6", + "@inquirer/number": "^3.0.9", + "@inquirer/password": "^4.0.9", + "@inquirer/rawlist": "^4.0.9", + "@inquirer/search": "^3.0.9", + "@inquirer/select": "^4.0.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular-devkit/schematics-cli/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.24.tgz", + "integrity": "sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@borewit/text-codec": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.2.2.tgz", + "integrity": "sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electric-sql/pglite": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite/-/pglite-0.4.1.tgz", + "integrity": "sha512-mZ9NzzUSYPOCnxHH1oAHPRzoMFJHY472raDKwXl/+6oPbpdJ7g8LsCN4FSaIIfkiCKHhb3iF/Zqo3NYxaIhU7Q==", + "license": "Apache-2.0" + }, + "node_modules/@electric-sql/pglite-socket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite-socket/-/pglite-socket-0.1.1.tgz", + "integrity": "sha512-p2hoXw3Z3LQHwTeikdZNsFBOvXGqKY2hk51BBw+8NKND8eoH+8LFOtW9Z8CQKmTJ2qqGYu82ipqiyFZOTTXNfw==", + "license": "Apache-2.0", + "bin": { + "pglite-server": "dist/scripts/server.js" + }, + "peerDependencies": { + "@electric-sql/pglite": "0.4.1" + } + }, + "node_modules/@electric-sql/pglite-tools": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@electric-sql/pglite-tools/-/pglite-tools-0.3.1.tgz", + "integrity": "sha512-C+T3oivmy9bpQvSxVqXA1UDY8cB9Eb9vZHL9zxWwEUfDixbXv4G3r2LjoTdR33LD8aomR3O9ZXEO3XEwr/cUCA==", + "license": "Apache-2.0", + "peerDependencies": { + "@electric-sql/pglite": "0.4.1" + } + }, + "node_modules/@hono/node-server": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.11.tgz", + "integrity": "sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==", + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.21", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", + "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", + "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/external-editor": "^1.0.3", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz", + "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz", + "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz", + "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz", + "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", + "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.3.2", + "@inquirer/confirm": "^5.1.21", + "@inquirer/editor": "^4.2.23", + "@inquirer/expand": "^4.0.23", + "@inquirer/input": "^4.3.1", + "@inquirer/number": "^3.0.23", + "@inquirer/password": "^4.0.23", + "@inquirer/rawlist": "^4.1.11", + "@inquirer/search": "^3.2.2", + "@inquirer/select": "^4.4.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz", + "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz", + "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/gen-mapping/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/source-map/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@kurkle/color": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", + "license": "MIT" + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@microsoft/tsdoc": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.16.0.tgz", + "integrity": "sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==", + "license": "MIT" + }, + "node_modules/@nestjs/cli": { + "version": "11.0.21", + "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-11.0.21.tgz", + "integrity": "sha512-F8mV0Sj/zVEouzR3NxBuJy08YHTUOmC5Xdcx3qIIaJWzrm8Vw86CHkhkaPBJ5ewRMHPDCShPmhsfwhpCcjts3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "@angular-devkit/schematics": "19.2.24", + "@angular-devkit/schematics-cli": "19.2.24", + "@inquirer/prompts": "7.10.1", + "@nestjs/schematics": "^11.0.1", + "ansis": "4.2.0", + "chokidar": "4.0.3", + "cli-table3": "0.6.5", + "commander": "4.1.1", + "fork-ts-checker-webpack-plugin": "9.1.0", + "glob": "13.0.6", + "node-emoji": "1.11.0", + "ora": "5.4.1", + "tsconfig-paths": "4.2.0", + "tsconfig-paths-webpack-plugin": "4.2.0", + "typescript": "5.9.3", + "webpack": "5.106.0", + "webpack-node-externals": "3.0.0" + }, + "bin": { + "nest": "bin/nest.js" + }, + "engines": { + "node": ">= 20.11" + }, + "peerDependencies": { + "@swc/cli": "^0.1.62 || ^0.3.0 || ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 || ^0.8.0", + "@swc/core": "^1.3.62" + }, + "peerDependenciesMeta": { + "@swc/cli": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli/node_modules/@angular-devkit/core": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.24.tgz", + "integrity": "sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@nestjs/cli/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nestjs/cli/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nestjs/cli/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@nestjs/cli/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nestjs/cli/node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@nestjs/common": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.24.tgz", + "integrity": "sha512-9zHxaDDM+oXW9As6UsP5yYB+UqczBmpeSCIFWdPEtEukMnZhxODG1BBjaUcdBB8Sc1uzojSJSJlp3yFp853t1g==", + "license": "MIT", + "dependencies": { + "file-type": "21.3.4", + "iterare": "1.2.1", + "load-esm": "1.0.3", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": ">=0.4.1", + "class-validator": ">=0.13.2", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/config": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-4.0.4.tgz", + "integrity": "sha512-CJPjNitr0bAufSEnRe2N+JbnVmMmDoo6hvKCPzXgZoGwJSmp/dZPk9f/RMbuD/+Q1ZJPjwsRpq0vxna++Knwow==", + "license": "MIT", + "dependencies": { + "dotenv": "17.4.1", + "dotenv-expand": "12.0.3", + "lodash": "4.18.1" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "rxjs": "^7.1.0" + } + }, + "node_modules/@nestjs/core": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.24.tgz", + "integrity": "sha512-K4bzT+lEdd0Hhcsw3jtk56QAW6s6skK3ViN7hIROSN0kUf4ROwWEAKopJID6yhPQxB45kDtP2wEcjzE8171J3g==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@nuxt/opencollective": "0.4.1", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "8.4.2", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0", + "@nestjs/websockets": "^11.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nestjs/jwt": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-11.0.2.tgz", + "integrity": "sha512-rK8aE/3/Ma45gAWfCksAXUNbOoSOUudU0Kn3rT39htPF7wsYXtKfjALKeKKJbFrIWbLjsbqfXX5bIJNvgBugGA==", + "license": "MIT", + "dependencies": { + "@types/jsonwebtoken": "9.0.10", + "jsonwebtoken": "9.0.3" + }, + "peerDependencies": { + "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0" + } + }, + "node_modules/@nestjs/mapped-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.1.1.tgz", + "integrity": "sha512-SCCoMEJ6jdeI5h/N+KCVF1+pmg/hmEkNA5nHTS8Gvww7T/LCl4o1gFLinw2iQ60w7slFkszHcGLKGdazVI4F8A==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "class-transformer": "^0.4.0 || ^0.5.0", + "class-validator": "^0.13.0 || ^0.14.0 || ^0.15.0", + "reflect-metadata": "^0.1.12 || ^0.2.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/passport": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@nestjs/passport/-/passport-11.0.5.tgz", + "integrity": "sha512-ulQX6mbjlws92PIM15Naes4F4p2JoxGnIJuUsdXQPT+Oo2sqQmENEZXM7eYuimocfHnKlcfZOuyzbA33LwUlOQ==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "passport": "^0.5.0 || ^0.6.0 || ^0.7.0" + } + }, + "node_modules/@nestjs/platform-express": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.24.tgz", + "integrity": "sha512-CeMKbRBm05aOBiWhIHWO2xDeHbxynBF9ySQv3gRjObz2N5+uJnYriAYkHvVqvC4JIydmMPmT5VdICFNlNz3qyA==", + "license": "MIT", + "dependencies": { + "cors": "2.8.6", + "express": "5.2.1", + "multer": "2.1.1", + "path-to-regexp": "8.4.2", + "tslib": "2.8.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/core": "^11.0.0" + } + }, + "node_modules/@nestjs/platform-socket.io": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-11.1.24.tgz", + "integrity": "sha512-ImdR9G8W5Y2Hhcptdci+tNaG6JV/dzDguFTgtXOL5ie/gD9O9ARw8Cd9RzF2+oteyzQ+1sPK/+wgVOPOyYGVCA==", + "license": "MIT", + "dependencies": { + "socket.io": "4.8.3", + "tslib": "2.8.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/websockets": "^11.0.0", + "rxjs": "^7.1.0" + } + }, + "node_modules/@nestjs/schematics": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-11.1.0.tgz", + "integrity": "sha512-lVxGZ46tcdItFMoXr6vyKWlnOsm1SZm/GUqAEDvy2RL4Q4O+3bkziAhrO7Y8JLssFUUvNFEGqAizI52WAxhjDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "19.2.24", + "@angular-devkit/schematics": "19.2.24", + "comment-json": "5.0.0", + "jsonc-parser": "3.3.1", + "pluralize": "8.0.0" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "typescript": ">=4.8.2" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": { + "version": "19.2.24", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.24.tgz", + "integrity": "sha512-Kd49warf6U/EyWe5BszF/eebN3zQ3bk7tgfEljAw8q/rX95UUtriJubWvp6pgzHfzBA4jwq8f+QiNZB8eBEXPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@nestjs/schematics/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@nestjs/schematics/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@nestjs/schematics/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nestjs/swagger": { + "version": "11.4.4", + "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.4.4.tgz", + "integrity": "sha512-VaIo1ruV2G7b+f2zPzkBSUNy9a/WQ9sg8TLKhWlrTfg4O6U10M/PA7Xi6XMXadOVhwOqoesijba8jH3i/3adrA==", + "license": "MIT", + "dependencies": { + "@microsoft/tsdoc": "0.16.0", + "@nestjs/mapped-types": "2.1.1", + "js-yaml": "4.1.1", + "lodash": "4.18.1", + "path-to-regexp": "8.4.2", + "swagger-ui-dist": "5.32.6" + }, + "peerDependencies": { + "@fastify/static": "^8.0.0 || ^9.0.0", + "@nestjs/common": "^11.0.1", + "@nestjs/core": "^11.0.1", + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12 || ^0.2.0" + }, + "peerDependenciesMeta": { + "@fastify/static": { + "optional": true + }, + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/websockets": { + "version": "11.1.24", + "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-11.1.24.tgz", + "integrity": "sha512-37Z/QYzZ4nPHcGyGGjhjoKVOcpSPMhmRQj5DS1l0RKlRYgq8S0cmgaZ6kQ8PI3259PdchLx41oQibXh22iEUiA==", + "license": "MIT", + "dependencies": { + "iterare": "1.2.1", + "object-hash": "3.0.0", + "tslib": "2.8.1" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/core": "^11.0.0", + "@nestjs/platform-socket.io": "^11.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/platform-socket.io": { + "optional": true + } + } + }, + "node_modules/@nuxt/opencollective": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.4.1.tgz", + "integrity": "sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0", + "npm": ">=5.10.0" + } + }, + "node_modules/@prisma/client": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-7.8.0.tgz", + "integrity": "sha512-HFp3Dawv/3sU3JtlPha90IB+48lS7zHiH4LKZPjmcE8YH5P9DOXGPvo8dqOtO7MqLDd1p2hOWMcFlRT1DMblHw==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/client-runtime-utils": "7.8.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.8.0", + "resolved": "https://registry.npmjs.org/@prisma/client-runtime-utils/-/client-runtime-utils-7.8.0.tgz", + "integrity": "sha512-5NQZztQ0oY/ADFkmd9gPuweH5A1/CCY8YQPorLLO0Mu6a87mY5gsnDkzmFmIHs9NFaLnZojzgddFVN4RpKYrdw==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/config": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@prisma/config/-/config-7.8.0.tgz", + "integrity": "sha512-HFESzd9rx2ZQxlK+TL7tu1HPvCqrHiL6LCxYykI2c34mvaUuIVVl3lYuicJD/MNnzgPnyeBEMlK4WTomJCV5jw==", + "license": "Apache-2.0", + "dependencies": { + "c12": "3.3.4", + "deepmerge-ts": "7.1.5", + "effect": "3.20.0", + "empathic": "2.0.0" + } + }, + "node_modules/@prisma/debug": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-7.8.0.tgz", + "integrity": "sha512-p+QZReysDUqXC+mk17q9a+Y/qzh4c2KYliDK30buYUyfrGeTGSyfmc0AIrJRhZJrLHhRiJa9Au/J72h3C+szvA==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/dev": { + "version": "0.24.3", + "resolved": "https://registry.npmjs.org/@prisma/dev/-/dev-0.24.3.tgz", + "integrity": "sha512-ffHlQuKXZiaDt9Go0OnCTdJZrHxK0k7omJKNV86/VjpsXu5EIHZLK0T7JSWgvNlJwh56kW9JFu9v0qJciFzepg==", + "license": "ISC", + "dependencies": { + "@electric-sql/pglite": "0.4.1", + "@electric-sql/pglite-socket": "0.1.1", + "@electric-sql/pglite-tools": "0.3.1", + "@hono/node-server": "1.19.11", + "@prisma/get-platform": "7.2.0", + "@prisma/query-plan-executor": "7.2.0", + "@prisma/streams-local": "0.1.2", + "foreground-child": "3.3.1", + "get-port-please": "3.2.0", + "hono": "^4.12.8", + "http-status-codes": "2.3.0", + "pathe": "2.0.3", + "proper-lockfile": "4.1.2", + "remeda": "2.33.4", + "std-env": "3.10.0", + "valibot": "1.2.0", + "zeptomatch": "2.1.0" + } + }, + "node_modules/@prisma/engines": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-7.8.0.tgz", + "integrity": "sha512-jx3rCnNNrt5uzbkKlegtQ2GZHxSlihMCzutgT/BP6UIDF1r9tDI39hV/0T/cHZgzJ3ELbuQPXlVZy+Y1n0pcgw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.8.0", + "@prisma/engines-version": "7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a", + "@prisma/fetch-engine": "7.8.0", + "@prisma/get-platform": "7.8.0" + } + }, + "node_modules/@prisma/engines-version": { + "version": "7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a.tgz", + "integrity": "sha512-fJPQxCkLgA5EayWaW8eArgCvjJ+N+Kz3VyeNKMEeYiQC4alNkxRKFVAGxv/ZUzuJISKqdw+zGeDbS6mn6RCPOA==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/engines/node_modules/@prisma/get-platform": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-7.8.0.tgz", + "integrity": "sha512-WlxgRGnolL8VH2EmkH1R/DkKNr/mVdS3G2h42IZFFZ3eUrH9OT6t73kIOSlkkrv50wG123Iq8d96ufv5LlZktw==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.8.0" + } + }, + "node_modules/@prisma/fetch-engine": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-7.8.0.tgz", + "integrity": "sha512-gwB0Euiz/DDRyxFRpLXYlK3RfaZUj1c5dAYMuhZYfApg7arknJlcb9bIsOHDppJmbqYaVA+yBIiFMDBfprsNPQ==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.8.0", + "@prisma/engines-version": "7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a", + "@prisma/get-platform": "7.8.0" + } + }, + "node_modules/@prisma/fetch-engine/node_modules/@prisma/get-platform": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-7.8.0.tgz", + "integrity": "sha512-WlxgRGnolL8VH2EmkH1R/DkKNr/mVdS3G2h42IZFFZ3eUrH9OT6t73kIOSlkkrv50wG123Iq8d96ufv5LlZktw==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.8.0" + } + }, + "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==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "7.2.0" + } + }, + "node_modules/@prisma/get-platform/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/query-plan-executor": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@prisma/query-plan-executor/-/query-plan-executor-7.2.0.tgz", + "integrity": "sha512-EOZmNzcV8uJ0mae3DhTsiHgoNCuu1J9mULQpGCh62zN3PxPTd+qI9tJvk5jOst8WHKQNwJWR3b39t0XvfBB0WQ==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/streams-local": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@prisma/streams-local/-/streams-local-0.1.2.tgz", + "integrity": "sha512-l49yTxKKF2odFxaAXTmwmkBKL3+bVQ1tFOooGifu4xkdb9NMNLxHj27XAhTylWZod8I+ISGM5erU1xcl/oBCtg==", + "license": "Apache-2.0", + "dependencies": { + "ajv": "^8.12.0", + "better-result": "^2.7.0", + "env-paths": "^3.0.0", + "proper-lockfile": "^4.1.2" + }, + "engines": { + "bun": ">=1.3.6", + "node": ">=22.0.0" + } + }, + "node_modules/@prisma/studio-core": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@prisma/studio-core/-/studio-core-0.27.3.tgz", + "integrity": "sha512-AADjNFPdsrglxHQVTmHFqv6DuKQZ5WY4p5/gVFY017twvNrSwpLJ9lqUbYYxEu2W7nbvVxTZA8deJ8LseNALsw==", + "license": "Apache-2.0", + "dependencies": { + "@radix-ui/react-toggle": "1.1.10", + "chart.js": "4.5.1" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24.0", + "pnpm": "8" + }, + "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/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.10.tgz", + "integrity": "sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@scarf/scarf": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", + "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", + "hasInstallScript": true, + "license": "Apache-2.0" + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, + "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/@tokenizer/inflate": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz", + "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "token-types": "^6.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "license": "MIT" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/bcryptjs": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.6.tgz", + "integrity": "sha512-9xlo6R2qDs5uixm0bcIqCeMCE6HiQsIyel9KQySStiyqNl2tnj2mP3DX1Nf56MD6KMenNNlBBsy3LJ7gUEQPXQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "^2" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": 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/jsonwebtoken": { + "version": "9.0.10", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz", + "integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==", + "license": "MIT", + "dependencies": { + "@types/ms": "*", + "@types/node": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/multer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/multer/-/multer-2.1.0.tgz", + "integrity": "sha512-zYZb0+nJhOHtPpGDb3vqPjwpdeGlGC157VpkqNQL+UU2qwoacoQ7MpsAmUptI/0Oa127X32JzWDqQVEXp2RcIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/node": { + "version": "25.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz", + "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==", + "license": "MIT", + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + } + }, + "node_modules/@types/passport": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.17.tgz", + "integrity": "sha512-aciLyx+wDwT2t2/kJGJR2AEeBz0nJU4WuRX04Wu9Dqc5lSUtwu0WERPHYsLhF9PtseiAMPBGNUOtFjxZ56prsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/passport-jwt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-4.0.1.tgz", + "integrity": "sha512-Y0Ykz6nWP4jpxgEUYq8NoVZeCQPo1ZndJLfapI249g1jHChvRfZRO/LS3tqu26YgAS/laI1qx98sYGz0IalRXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/jsonwebtoken": "*", + "@types/passport-strategy": "*" + } + }, + "node_modules/@types/passport-strategy": { + "version": "0.2.38", + "resolved": "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.38.tgz", + "integrity": "sha512-GC6eMqqojOooq993Tmnmp7AUTbbQSgilyvpCYQjT+H6JfG/g6RGc7nXEniZlp0zyKJ0WUdOiZWLBZft9Yug1uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*", + "@types/passport": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.16", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.16.tgz", + "integrity": "sha512-esJiCAnl0kfpNdE69f3So4WJUXy95dLZydX0KwK46riIHDzHM7O9Vtf9xCHW0PXIqvgqNrswl522kA/5yx+F4w==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*" + } + }, + "node_modules/@types/validator": { + "version": "13.15.10", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.10.tgz", + "integrity": "sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "license": "MIT" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "Python-2.0" + }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "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/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.33", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.33.tgz", + "integrity": "sha512-bA6+tcSLpz2tIEdDXZPpPTIuxBcC4+w6SieaYyfigIa4h8GlFxbA17v22Vx3JUtuZQj9SgOsnbK+aTBzyDyEuw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/bcryptjs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.3.tgz", + "integrity": "sha512-GlF5wPWnSa/X5LKM1o0wz0suXIINz1iHRLvTS+sLyi7XPbe5ycmYI3DlZqVGZZtDgl4DmasFg7gOB3JYbphV5g==", + "license": "BSD-3-Clause", + "bin": { + "bcrypt": "bin/bcrypt" + } + }, + "node_modules/better-result": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/better-result/-/better-result-2.9.2.tgz", + "integrity": "sha512-WIFoBPCdnTOdk9inkE1ZRvCZ4P0CpSkAiLlchC65N7n9DcjZ3NhqkBOlafzpOVnO8ixyi37kicmSJ3ENhPZl7Q==", + "license": "MIT" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/c12": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.3.4.tgz", + "integrity": "sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA==", + "license": "MIT", + "dependencies": { + "chokidar": "^5.0.0", + "confbox": "^0.2.4", + "defu": "^6.1.6", + "dotenv": "^17.3.1", + "exsolve": "^1.0.8", + "giget": "^3.2.0", + "jiti": "^2.6.1", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^2.1.0", + "pkg-types": "^2.3.0", + "rc9": "^3.0.1" + }, + "peerDependencies": { + "magicast": "*" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "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/chardet": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/chart.js": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz", + "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/class-transformer": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", + "license": "MIT" + }, + "node_modules/class-validator": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.15.1.tgz", + "integrity": "sha512-LqoS80HBBSCVhz/3KloUly0ovokxpdOLR++Al3J3+dHXWt9sTKlKd4eYtoxhxyUjoe5+UcIM+5k9MIxyBWnRTw==", + "license": "MIT", + "dependencies": { + "@types/validator": "^13.15.3", + "libphonenumber-js": "^1.11.1", + "validator": "^13.15.22" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "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/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/comment-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-5.0.0.tgz", + "integrity": "sha512-uiqLcOiVDJtBP8WGkZHEP+FZIhTzP1dxvn59EfoYUi9gqupjrBWVQkO2atDrbnKPwLeotFYDsuNb26uBMqB+hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-timsort": "^1.0.3", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/confbox": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz", + "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==", + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "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==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "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==", + "dev": 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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "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==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.1.tgz", + "integrity": "sha512-k8DaKGP6r1G30Lx8V4+pCsLzKr8vLmV2paqEj1Y55GdAgJuIqpRp5FfajGF8KtwMxCz9qJc6wUIJnm053d/WCw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.3.tgz", + "integrity": "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==", + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand/node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/effect": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/effect/-/effect-3.20.0.tgz", + "integrity": "sha512-qMLfDJscrNG8p/aw+IkT9W7fgj50Z4wG5bLBy0Txsxz8iUHjDIkOgO3SV0WZfnQbNG2VJYb0b+rDLMrhM4+Krw==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "fast-check": "^3.23.1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.364", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.364.tgz", + "integrity": "sha512-G/dYE3+AYhyHwzTwg8UbnXf7zqMERYh7l2jJ3QujhFsH8agSYwtnGAR2aZ7f0AakIKJXd5En/Hre4igIUrdlYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/empathic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz", + "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io": { + "version": "6.6.8", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.8.tgz", + "integrity": "sha512-2agL3ueZhqxoVrfmntO8yuVj+uNSlIOnhykYHk3Cq0ShYPdUjjUiSJrQvXjq01I9jAuI0Zl2YO8Evv5Mqytm5g==", + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "@types/ws": "^8.5.12", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.20.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.22.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.22.1.tgz", + "integrity": "sha512-6QEuw3zoX1SJQc7b87aBXke/no+mG2bTBgw29gWMQonLmpEkWoCAVkl+M49e48AZlWzxiDzDZzYdp6kobcyLww==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "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/esrecurse/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/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", + "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==", + "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==", + "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-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/file-type": { + "version": "21.3.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz", + "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==", + "license": "MIT", + "dependencies": { + "@tokenizer/inflate": "^0.4.1", + "strtok3": "^10.3.4", + "token-types": "^6.1.1", + "uint8array-extras": "^1.4.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "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==", + "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/fork-ts-checker-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-mpafl89VFPJmhnJ1ssH+8wmM2b50n+Rew5x42NeI2U78aRWgtkEtGmctp7iT16UjquJTjorEmIfESj3DxdW84Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^4.0.1", + "cosmiconfig": "^8.2.0", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "node-abort-controller": "^3.0.1", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "typescript": ">3.6.0", + "webpack": "^5.11.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-property": "^1.0.2" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port-please": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.2.0.tgz", + "integrity": "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==", + "license": "MIT" + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/giget": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-3.2.0.tgz", + "integrity": "sha512-GvHTWcykIR/fP8cj8dMpuMMkvaeJfPvYnhq0oW+chSeIr+ldX21ifU2Ms6KBoyKZQZmVaUAAhQ2EZ68KJF8a7A==", + "license": "MIT", + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "license": "ISC" + }, + "node_modules/grammex": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/grammex/-/grammex-3.1.12.tgz", + "integrity": "sha512-6ufJOsSA7LcQehIJNCO7HIBykfM7DXQual0Ny780/DEcJIpBlHRvcqEBWGPYd7hrXL2GJ3oJI1MIhaXjWmLQOQ==", + "license": "MIT" + }, + "node_modules/graphmatch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/graphmatch/-/graphmatch-1.1.1.tgz", + "integrity": "sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==", + "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/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hono": { + "version": "4.12.23", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.23.tgz", + "integrity": "sha512-eIaZ9qDgu7XV0pxOCrg7/WhnQ6Ivm22UcxhXx/A3dcbqbbYgBEkc6e/J/s7j2tS96zoB0S9VBdLwQNCWwUo4LA==", + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "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==", + "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==", + "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/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "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/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "license": "ISC", + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/libphonenumber-js": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.13.4.tgz", + "integrity": "sha512-/lhWr7vq8foWN9Apksnd9v8/cfwzW6g6qKOCo25XBGkNaVCHucXO57hLy4CWHGvytvLz6Nt3J5Gs8p3jlCGFXA==", + "license": "MIT" + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/load-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.3.tgz", + "integrity": "sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + }, + { + "type": "buymeacoffee", + "url": "https://buymeacoffee.com/borewit" + } + ], + "license": "MIT", + "engines": { + "node": ">=13.2.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "Apache-2.0" + }, + "node_modules/lru-cache": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/lru.min": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.4.tgz", + "integrity": "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==", + "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.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/multer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.1.tgz", + "integrity": "sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.6.0", + "concat-stream": "^2.0.0", + "type-is": "^1.6.18" + }, + "engines": { + "node": ">= 10.16.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/multer/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/multer/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/mysql2": { + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.15.3.tgz", + "integrity": "sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==", + "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==", + "license": "MIT", + "dependencies": { + "lru.min": "^1.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-releases": { + "version": "2.0.46", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.46.tgz", + "integrity": "sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "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/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/passport": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", + "license": "MIT", + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1", + "utils-merge": "^1.0.1" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, + "node_modules/passport-jwt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.1.tgz", + "integrity": "sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ==", + "license": "MIT", + "dependencies": { + "jsonwebtoken": "^9.0.0", + "passport-strategy": "^1.0.0" + } + }, + "node_modules/passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": 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==", + "license": "MIT" + }, + "node_modules/pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" + }, + "node_modules/perfect-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz", + "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.1.tgz", + "integrity": "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==", + "license": "MIT", + "dependencies": { + "confbox": "^0.2.4", + "exsolve": "^1.0.8", + "pathe": "^2.0.3" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "license": "MIT", + "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==", + "license": "Unlicense", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/porsager" + } + }, + "node_modules/prisma": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-7.8.0.tgz", + "integrity": "sha512-yfN4yrw7HV9kEJhoy1+jgah0jafEIQsf7uWouSsM8MvJtlubsk+kM7AIBWZ8+GJl74Yj3c+nbYqBkMOxtsZ3Lw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/config": "7.8.0", + "@prisma/dev": "0.24.3", + "@prisma/engines": "7.8.0", + "@prisma/studio-core": "0.27.3", + "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==", + "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==", + "license": "ISC" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/rc9": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-3.0.1.tgz", + "integrity": "sha512-gMDyleLWVE+i6Sgtc0QbbY6pEKqYs97NGi6isHQPqYlLemPoO8dxQ3uGi0f4NiP98c+jMW6cG1Kx9dDwfvqARQ==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.6", + "destr": "^2.0.5" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "license": "Apache-2.0" + }, + "node_modules/remeda": { + "version": "2.33.4", + "resolved": "https://registry.npmjs.org/remeda/-/remeda-2.33.4.tgz", + "integrity": "sha512-ygHswjlc/opg2VrtiYvUOPLjxjtdKvjGz1/plDhkG66hjNjFr1xmfrs2ClNFo/E6TyUFiwYNh53bKV26oBoMGQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/remeda" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/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==", + "dev": true, + "license": "ISC" + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "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==", + "license": "MIT", + "peer": true + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "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/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/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/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "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==" + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "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==", + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/socket.io": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz", + "integrity": "sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.7.tgz", + "integrity": "sha512-e0LyK91f3cUxTmv95/KzoLg47+zF+s/sbxRGDNsyG4dmIP8ZSX8ax6byOxfJXeNNtS/8AZlfD+uP7gBeR7DLlg==", + "license": "MIT", + "dependencies": { + "debug": "~4.4.1", + "ws": "~8.20.1" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz", + "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "license": "MIT" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strtok3": { + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.5.tgz", + "integrity": "sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "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/swagger-ui-dist": { + "version": "5.32.6", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.32.6.tgz", + "integrity": "sha512-75ttZNaYCLoFPnozPZcTUU6mS3wKT8l7WLjU5zJSHFeJa23i5vtnze6IiCl4jDMPeQTXVXIgovq4M11NNfQvSA==", + "license": "Apache-2.0", + "dependencies": { + "@scarf/scarf": "=1.4.0" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz", + "integrity": "sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", + "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "html-minifier-terser": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/token-types": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.2.tgz", + "integrity": "sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==", + "license": "MIT", + "dependencies": { + "@borewit/text-codec": "^0.2.1", + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.2.0.tgz", + "integrity": "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tapable": "^2.2.1", + "tsconfig-paths": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", + "license": "MIT", + "dependencies": { + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uid": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uint8array-extras": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/undici-types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "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==", + "license": "MIT", + "peerDependencies": { + "typescript": ">=5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/validator": { + "version": "13.15.35", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", + "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webpack": { + "version": "5.106.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.0.tgz", + "integrity": "sha512-Pkx5joZ9RrdgO5LBkyX1L2ZAJeK/Taz3vqZ9CbcP0wS5LEMx5QkKsEwLl29QJfihZ+DKRBFldzy1O30pJ1MDpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.20.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-sources": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.0.tgz", + "integrity": "sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz", + "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==", + "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/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zeptomatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/zeptomatch/-/zeptomatch-2.1.0.tgz", + "integrity": "sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==", + "license": "MIT", + "dependencies": { + "grammex": "^3.1.11", + "graphmatch": "^1.1.0" + } + } + } +} diff --git a/backend/package.json b/backend/package.json new file mode 100644 index 0000000..1d6e50b --- /dev/null +++ b/backend/package.json @@ -0,0 +1,54 @@ +{ + "name": "prosapp-api", + "version": "1.0.0", + "description": "ProsApp Backend API - NestJS + Prisma + PostgreSQL", + "main": "dist/main.js", + "scripts": { + "build": "nest build", + "start": "node dist/main", + "dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/main", + "prisma:generate": "prisma generate", + "prisma:pull": "prisma db pull", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs", + "dependencies": { + "@nestjs/common": "^11.1.24", + "@nestjs/config": "^4.0.4", + "@nestjs/core": "^11.1.24", + "@nestjs/jwt": "^11.0.2", + "@nestjs/passport": "^11.0.5", + "@nestjs/platform-express": "^11.1.24", + "@nestjs/platform-socket.io": "^11.1.24", + "@nestjs/swagger": "^11.4.4", + "@nestjs/websockets": "^11.1.24", + "@prisma/client": "^7.8.0", + "bcryptjs": "^3.0.3", + "class-transformer": "^0.5.1", + "class-validator": "^0.15.1", + "multer": "^2.1.1", + "passport": "^0.7.0", + "passport-jwt": "^4.0.1", + "prisma": "^7.8.0", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.2", + "socket.io": "^4.8.3" + }, + "devDependencies": { + "@nestjs/cli": "^11.0.21", + "@nestjs/schematics": "^11.1.0", + "@types/bcryptjs": "^2.4.6", + "@types/express": "^5.0.6", + "@types/multer": "^2.1.0", + "@types/node": "^25.9.1", + "@types/passport-jwt": "^4.0.1", + "ts-node": "^10.9.2", + "tsconfig-paths": "^4.2.0", + "typescript": "^6.0.3" + } +} diff --git a/backend/prisma.config.d.ts b/backend/prisma.config.d.ts new file mode 100644 index 0000000..ab06446 --- /dev/null +++ b/backend/prisma.config.d.ts @@ -0,0 +1,3 @@ +import "dotenv/config"; +declare const _default: import("@prisma/config").PrismaConfigInternal; +export default _default; diff --git a/backend/prisma.config.js b/backend/prisma.config.js new file mode 100644 index 0000000..edec319 --- /dev/null +++ b/backend/prisma.config.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("dotenv/config"); +const config_1 = require("prisma/config"); +exports.default = (0, config_1.defineConfig)({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + }, + datasource: { + url: process.env["DATABASE_URL"], + }, +}); +//# sourceMappingURL=prisma.config.js.map \ No newline at end of file diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma new file mode 100644 index 0000000..63a19aa --- /dev/null +++ b/backend/prisma/schema.prisma @@ -0,0 +1,236 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" +} + +model chats { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + user_id String @db.Uuid + professional_id String @db.Uuid + created_at DateTime @default(now()) @db.Timestamptz(6) + users_chats_professional_idTousers users @relation("chats_professional_idTousers", fields: [professional_id], references: [id], onDelete: NoAction, onUpdate: NoAction) + users_chats_user_idTousers users @relation("chats_user_idTousers", fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction) + messages messages[] + + @@unique([user_id, professional_id]) + @@index([professional_id], map: "idx_chats_professional_id") + @@index([user_id], map: "idx_chats_user_id") +} + +model cities { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + region_id String @db.Uuid + name String @db.VarChar(255) + latitude Decimal? @db.Decimal(10, 7) + longitude Decimal? @db.Decimal(10, 7) + regions regions @relation(fields: [region_id], references: [id], onDelete: Cascade, onUpdate: NoAction) + + @@index([region_id], map: "idx_cities_region_id") +} + +/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info. +model comments { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + author_id String @db.Uuid + destination_id String @db.Uuid + service_id String? @db.Uuid + content String? + score Int @db.SmallInt + is_from_user Boolean @default(true) + created_at DateTime @default(now()) @db.Timestamptz(6) + users_comments_author_idTousers users @relation("comments_author_idTousers", fields: [author_id], references: [id], onDelete: NoAction, onUpdate: NoAction) + users_comments_destination_idTousers users @relation("comments_destination_idTousers", fields: [destination_id], references: [id], onDelete: NoAction, onUpdate: NoAction) + services services? @relation(fields: [service_id], references: [id], onDelete: NoAction, onUpdate: NoAction) + + @@index([author_id], map: "idx_comments_author_id") + @@index([destination_id], map: "idx_comments_destination_id") + @@index([service_id], map: "idx_comments_service_id") +} + +model countries { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + name String @unique @db.VarChar(255) + regions regions[] +} + +model messages { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + chat_id String @db.Uuid + sender_id String @db.Uuid + content String + created_at DateTime @default(now()) @db.Timestamptz(6) + chats chats @relation(fields: [chat_id], references: [id], onDelete: Cascade, onUpdate: NoAction) + users users @relation(fields: [sender_id], references: [id], onDelete: NoAction, onUpdate: NoAction) + + @@index([chat_id], map: "idx_messages_chat_id") + @@index([created_at], map: "idx_messages_created_at") +} + +model payment_methods { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + professional_id String @unique @db.Uuid + nequi Boolean? @default(false) + datafono Boolean? @default(false) + transferencia Boolean? @default(false) + professionals professionals @relation(fields: [professional_id], references: [id], onDelete: Cascade, onUpdate: NoAction) +} + +model professionals { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + user_id String @unique @db.Uuid + identification String? @db.VarChar(50) + address String? + additional_address String? + profession String? @db.VarChar(255) + rate Decimal? @db.Decimal(10, 2) + rate_preferences String? + location_preferences String? @default("office") @db.VarChar(20) + banner_picture String? + identification_picture String? + certificate_picture String? + latitude Decimal? @db.Decimal(10, 7) + longitude Decimal? @db.Decimal(10, 7) + average_score Decimal? @default(0) @db.Decimal(3, 2) + is_active Boolean? @default(true) + created_at DateTime @default(now()) @db.Timestamptz(6) + updated_at DateTime @default(now()) @db.Timestamptz(6) + payment_methods payment_methods? + users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction) + schedules schedules[] + services services[] + specializations specializations[] + + @@index([user_id], map: "idx_professionals_user_id") +} + +model professions { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + name String @unique @db.VarChar(255) +} + +model regions { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + country_id String @db.Uuid + name String @db.VarChar(255) + cities cities[] + countries countries @relation(fields: [country_id], references: [id], onDelete: Cascade, onUpdate: NoAction) + + @@index([country_id], map: "idx_regions_country_id") +} + +model reputations { + user_id String @id @db.Uuid + total Int @default(0) + average Decimal @default(0) @db.Decimal(3, 2) + total_pro Int @default(0) + average_pro Decimal @default(0) @db.Decimal(3, 2) + updated_at DateTime @default(now()) @db.Timestamptz(6) + users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction) +} + +/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info. +model schedules { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + professional_id String @db.Uuid + day_of_week Int @db.SmallInt + enabled Boolean? @default(false) + continuous_day Boolean? @default(false) + range1_hour1 DateTime? @db.Time(6) + range1_hour2 DateTime? @db.Time(6) + range2_hour1 DateTime? @db.Time(6) + range2_hour2 DateTime? @db.Time(6) + professionals professionals @relation(fields: [professional_id], references: [id], onDelete: Cascade, onUpdate: NoAction) + + @@unique([professional_id, day_of_week]) + @@index([professional_id], map: "idx_schedules_professional_id") +} + +model services { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + professional_id String @db.Uuid + user_id String @db.Uuid + address String? + additional_address String? + latitude Decimal? @db.Decimal(10, 7) + longitude Decimal? @db.Decimal(10, 7) + day DateTime @db.Date + description String? + rate Decimal? @db.Decimal(10, 2) + range1_hour1 DateTime? @db.Time(6) + range1_hour2 DateTime? @db.Time(6) + status service_status @default(pending) + location_preference service_location? @default(office) + professional_scored Boolean? @default(false) + user_scored Boolean? @default(false) + created_at DateTime @default(now()) @db.Timestamptz(6) + updated_at DateTime @default(now()) @db.Timestamptz(6) + comments comments[] + professionals professionals @relation(fields: [professional_id], references: [id], onDelete: NoAction, onUpdate: NoAction) + users users @relation(fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction) + + @@index([day], map: "idx_services_day") + @@index([professional_id], map: "idx_services_professional_id") + @@index([status], map: "idx_services_status") + @@index([user_id], map: "idx_services_user_id") +} + +model settings { + key String @id @db.VarChar(100) + value Json + updated_at DateTime @default(now()) @db.Timestamptz(6) +} + +model specializations { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + professional_id String @db.Uuid + name String @db.VarChar(255) + picture String? + professionals professionals @relation(fields: [professional_id], references: [id], onDelete: Cascade, onUpdate: NoAction) + + @@index([professional_id], map: "idx_specializations_professional_id") +} + +model users { + id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + email String? @unique @db.VarChar(255) + phone String? @unique @db.VarChar(20) + password_hash String? @db.VarChar(255) + name String @db.VarChar(255) + nickname String? @db.VarChar(100) + city String? @db.VarChar(100) + picture String? + birthday DateTime? @db.Date + gender String? @db.VarChar(20) + pro_state Int @default(0) @db.SmallInt + fcm_token String? + is_phone_verified Boolean? @default(false) + is_email_verified Boolean? @default(false) + created_at DateTime @default(now()) @db.Timestamptz(6) + updated_at DateTime @default(now()) @db.Timestamptz(6) + chats_chats_professional_idTousers chats[] @relation("chats_professional_idTousers") + chats_chats_user_idTousers chats[] @relation("chats_user_idTousers") + comments_comments_author_idTousers comments[] @relation("comments_author_idTousers") + comments_comments_destination_idTousers comments[] @relation("comments_destination_idTousers") + messages messages[] + professionals professionals? + reputations reputations? + services services[] +} + +enum service_location { + office + delivery +} + +enum service_status { + pending + accepted + denied + active + cancelled + completed + self_booked +} diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts new file mode 100644 index 0000000..02cc2d4 --- /dev/null +++ b/backend/src/app.module.ts @@ -0,0 +1,31 @@ +import { Module } from '@nestjs/common'; +import { ConfigModule } from '@nestjs/config'; +import { PrismaModule } from './prisma/prisma.module'; +import { AuthModule } from './auth/auth.module'; +import { UsersModule } from './users/users.module'; +import { ProfessionalsModule } from './professionals/professionals.module'; +import { ServicesModule } from './services/services.module'; +import { CommentsModule } from './comments/comments.module'; +import { ChatModule } from './chat/chat.module'; +import { LocationsModule } from './locations/locations.module'; +import { SettingsModule } from './settings/settings.module'; +import { ProfessionsModule } from './professions/professions.module'; +import { StorageModule } from './storage/storage.module'; + +@Module({ + imports: [ + ConfigModule.forRoot({ isGlobal: true }), + PrismaModule, + AuthModule, + UsersModule, + ProfessionalsModule, + ServicesModule, + CommentsModule, + ChatModule, + LocationsModule, + SettingsModule, + ProfessionsModule, + StorageModule, + ], +}) +export class AppModule {} diff --git a/backend/src/auth/auth.controller.ts b/backend/src/auth/auth.controller.ts new file mode 100644 index 0000000..606945c --- /dev/null +++ b/backend/src/auth/auth.controller.ts @@ -0,0 +1,32 @@ +import { Controller, Post, Body, UseGuards, Get, Req } from '@nestjs/common'; +import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { AuthService } from './auth.service'; +import { JwtAuthGuard } from './jwt-auth.guard'; + +@ApiTags('Auth') +@Controller('auth') +export class AuthController { + constructor(private auth: AuthService) {} + + @Post('register') + register(@Body() dto: { email: string; password: string; name: string }) { + return this.auth.register(dto.email, dto.password, dto.name); + } + + @Post('login') + login(@Body() dto: { email: string; password: string }) { + return this.auth.login(dto.email, dto.password); + } + + @Post('phone') + phone(@Body() dto: { phone: string; name?: string }) { + return this.auth.loginOrCreateByPhone(dto.phone, dto.name); + } + + @Get('me') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + me(@Req() req) { + return this.auth.me(req.user.sub); + } +} diff --git a/backend/src/auth/auth.module.ts b/backend/src/auth/auth.module.ts new file mode 100644 index 0000000..8ab81c1 --- /dev/null +++ b/backend/src/auth/auth.module.ts @@ -0,0 +1,20 @@ +import { Module } from '@nestjs/common'; +import { JwtModule } from '@nestjs/jwt'; +import { PassportModule } from '@nestjs/passport'; +import { AuthService } from './auth.service'; +import { AuthController } from './auth.controller'; +import { JwtStrategy } from './jwt.strategy'; + +@Module({ + imports: [ + PassportModule.register({ defaultStrategy: 'jwt' }), + JwtModule.register({ + secret: process.env.JWT_SECRET || 'prosapp-secret-dev', + signOptions: { expiresIn: '30d' }, + }), + ], + providers: [AuthService, JwtStrategy], + controllers: [AuthController], + exports: [AuthService, JwtModule], +}) +export class AuthModule {} diff --git a/backend/src/auth/auth.service.ts b/backend/src/auth/auth.service.ts new file mode 100644 index 0000000..5c3f790 --- /dev/null +++ b/backend/src/auth/auth.service.ts @@ -0,0 +1,69 @@ +import { Injectable, UnauthorizedException, ConflictException, BadRequestException } from '@nestjs/common'; +import { JwtService } from '@nestjs/jwt'; +import * as bcrypt from 'bcryptjs'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class AuthService { + constructor( + private prisma: PrismaService, + private jwt: JwtService, + ) {} + + async register(email: string, password: string, name: string) { + const existing = await this.prisma.users.findUnique({ where: { email } }); + if (existing) throw new ConflictException('Email ya registrado'); + + const password_hash = await bcrypt.hash(password, 10); + const user = await this.prisma.users.create({ + data: { email, password_hash, name, is_email_verified: true }, + }); + + return this.generateToken(user); + } + + async login(email: string, password: string) { + const user = await this.prisma.users.findUnique({ where: { email } }); + if (!user || !user.password_hash) throw new UnauthorizedException('Credenciales inválidas'); + + const valid = await bcrypt.compare(password, user.password_hash); + if (!valid) throw new UnauthorizedException('Credenciales inválidas'); + + return this.generateToken(user); + } + + async loginOrCreateByPhone(phone: string, name?: string) { + let user = await this.prisma.users.findUnique({ where: { phone } }); + if (!user) { + user = await this.prisma.users.create({ + data: { phone, name: name || phone, is_phone_verified: true }, + }); + } + return this.generateToken(user); + } + + async me(userId: string) { + return this.prisma.users.findUnique({ + where: { id: userId }, + include: { + professionals: { + include: { schedules: true, payment_methods: true, specializations: true }, + }, + reputations: true, + }, + }); + } + + private generateToken(user: any) { + const payload = { sub: user.id, email: user.email, phone: user.phone }; + return { + access_token: this.jwt.sign(payload), + user: { + id: user.id, + email: user.email, + phone: user.phone, + name: user.name, + }, + }; + } +} diff --git a/backend/src/auth/jwt-auth.guard.ts b/backend/src/auth/jwt-auth.guard.ts new file mode 100644 index 0000000..00fd7de --- /dev/null +++ b/backend/src/auth/jwt-auth.guard.ts @@ -0,0 +1,5 @@ +import { Injectable, ExecutionContext } from '@nestjs/common'; +import { AuthGuard } from '@nestjs/passport'; + +@Injectable() +export class JwtAuthGuard extends AuthGuard('jwt') {} diff --git a/backend/src/auth/jwt.strategy.ts b/backend/src/auth/jwt.strategy.ts new file mode 100644 index 0000000..89b00aa --- /dev/null +++ b/backend/src/auth/jwt.strategy.ts @@ -0,0 +1,21 @@ +import { Injectable } from '@nestjs/common'; +import { PassportStrategy } from '@nestjs/passport'; +import { ExtractJwt, Strategy } from 'passport-jwt'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class JwtStrategy extends PassportStrategy(Strategy) { + constructor(private prisma: PrismaService) { + super({ + jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), + ignoreExpiration: false, + secretOrKey: process.env.JWT_SECRET || 'prosapp-secret-dev', + }); + } + + async validate(payload: { sub: string }) { + const user = await this.prisma.users.findUnique({ where: { id: payload.sub } }); + if (!user) return null; + return { sub: user.id, email: user.email, phone: user.phone }; + } +} diff --git a/backend/src/chat/chat.controller.ts b/backend/src/chat/chat.controller.ts new file mode 100644 index 0000000..df7bbbd --- /dev/null +++ b/backend/src/chat/chat.controller.ts @@ -0,0 +1,38 @@ +import { Controller, Get, Post, Param, Body, UseGuards, Req } from '@nestjs/common'; +import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { ChatService } from './chat.service'; +import { JwtAuthGuard } from '../auth/jwt-auth.guard'; + +@ApiTags('Chat') +@Controller('chat') +export class ChatController { + constructor(private chat: ChatService) {} + + @Post('start/:professionalId') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + start(@Req() req, @Param('professionalId') professionalId: string) { + return this.chat.getOrCreateChat(req.user.sub, professionalId); + } + + @Post(':chatId/message') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + sendMessage(@Req() req, @Param('chatId') chatId: string, @Body() dto: { content: string }) { + return this.chat.sendMessage(chatId, req.user.sub, dto.content); + } + + @Get('my') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + myChats(@Req() req) { + return this.chat.getUserChats(req.user.sub); + } + + @Get(':chatId/messages') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + messages(@Param('chatId') chatId: string) { + return this.chat.getChatMessages(chatId); + } +} diff --git a/backend/src/chat/chat.gateway.ts b/backend/src/chat/chat.gateway.ts new file mode 100644 index 0000000..3df1a35 --- /dev/null +++ b/backend/src/chat/chat.gateway.ts @@ -0,0 +1,61 @@ +import { + WebSocketGateway, + WebSocketServer, + SubscribeMessage, + OnGatewayConnection, + OnGatewayDisconnect, + ConnectedSocket, + MessageBody, +} from '@nestjs/websockets'; +import { Server, Socket } from 'socket.io'; +import { ChatService } from './chat.service'; +import { PrismaService } from '../prisma/prisma.service'; + +@WebSocketGateway({ cors: { origin: '*' } }) +export class ChatGateway implements OnGatewayConnection, OnGatewayDisconnect { + @WebSocketServer() + server!: Server; + + private userSockets = new Map(); + + constructor(private chat: ChatService, private prisma: PrismaService) {} + + handleConnection(client: Socket) { + const userId = client.handshake.query.userId as string; + if (userId) { + this.userSockets.set(userId, client.id); + client.join(`user:${userId}`); + } + } + + handleDisconnect(client: Socket) { + for (const [userId, socketId] of this.userSockets) { + if (socketId === client.id) { + this.userSockets.delete(userId); + break; + } + } + } + + @SubscribeMessage('sendMessage') + async handleMessage(@ConnectedSocket() client: Socket, @MessageBody() data: { chatId: string; content: string }) { + const userId = client.handshake.query.userId as string; + const message = await this.chat.sendMessage(data.chatId, userId, data.content); + + const chat = await this.prisma.chats.findUnique({ + where: { id: data.chatId }, + }); + + if (chat) { + this.server.to(`user:${chat.user_id}`).emit('newMessage', message); + this.server.to(`user:${chat.professional_id}`).emit('newMessage', message); + } + + return message; + } + + @SubscribeMessage('joinChat') + handleJoinChat(@ConnectedSocket() client: Socket, @MessageBody() chatId: string) { + client.join(`chat:${chatId}`); + } +} diff --git a/backend/src/chat/chat.module.ts b/backend/src/chat/chat.module.ts new file mode 100644 index 0000000..8eb96c8 --- /dev/null +++ b/backend/src/chat/chat.module.ts @@ -0,0 +1,11 @@ +import { Module } from '@nestjs/common'; +import { ChatService } from './chat.service'; +import { ChatController } from './chat.controller'; +import { ChatGateway } from './chat.gateway'; + +@Module({ + providers: [ChatService, ChatGateway], + controllers: [ChatController], + exports: [ChatService], +}) +export class ChatModule {} diff --git a/backend/src/chat/chat.service.ts b/backend/src/chat/chat.service.ts new file mode 100644 index 0000000..14625f1 --- /dev/null +++ b/backend/src/chat/chat.service.ts @@ -0,0 +1,53 @@ +import { Injectable } from '@nestjs/common'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class ChatService { + constructor(private prisma: PrismaService) {} + + async getOrCreateChat(userId: string, professionalId: string) { + const existing = await this.prisma.chats.findUnique({ + where: { user_id_professional_id: { user_id: userId, professional_id: professionalId } }, + include: { messages: { orderBy: { created_at: 'asc' } } }, + }); + if (existing) return existing; + + return this.prisma.chats.create({ + data: { user_id: userId, professional_id: professionalId }, + include: { messages: true }, + }); + } + + async sendMessage(chatId: string, senderId: string, content: string) { + const message = await this.prisma.messages.create({ + data: { chat_id: chatId, sender_id: senderId, content }, + }); + + await this.prisma.chats.update({ + where: { id: chatId }, + data: {}, + }); + + return message; + } + + getUserChats(userId: string) { + return this.prisma.chats.findMany({ + where: { + OR: [{ user_id: userId }, { professional_id: userId }], + }, + include: { + users_chats_user_idTousers: { select: { id: true, name: true, picture: true } }, + users_chats_professional_idTousers: { select: { id: true, name: true, picture: true } }, + messages: { orderBy: { created_at: 'desc' }, take: 1 }, + }, + }); + } + + getChatMessages(chatId: string) { + return this.prisma.messages.findMany({ + where: { chat_id: chatId }, + orderBy: { created_at: 'asc' }, + }); + } +} diff --git a/backend/src/comments/comments.controller.ts b/backend/src/comments/comments.controller.ts new file mode 100644 index 0000000..7038081 --- /dev/null +++ b/backend/src/comments/comments.controller.ts @@ -0,0 +1,32 @@ +import { Controller, Get, Post, Param, Body, UseGuards, Req } from '@nestjs/common'; +import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { CommentsService } from './comments.service'; +import { JwtAuthGuard } from '../auth/jwt-auth.guard'; + +@ApiTags('Comments') +@Controller('comments') +export class CommentsController { + constructor(private comments: CommentsService) {} + + @Post() + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + create(@Req() req, @Body() data: any) { + return this.comments.create({ ...data, author_id: req.user.sub }); + } + + @Get('user/:userId') + getScoresForUser(@Param('userId') id: string) { + return this.comments.getScoresForUser(id); + } + + @Get('professional/:userId') + getScoresForProfessional(@Param('userId') id: string) { + return this.comments.getScoresForProfessional(id); + } + + @Get('reputation/:userId') + getReputation(@Param('userId') id: string) { + return this.comments.getReputation(id); + } +} diff --git a/backend/src/comments/comments.module.ts b/backend/src/comments/comments.module.ts new file mode 100644 index 0000000..f63beee --- /dev/null +++ b/backend/src/comments/comments.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { CommentsService } from './comments.service'; +import { CommentsController } from './comments.controller'; + +@Module({ + providers: [CommentsService], + controllers: [CommentsController], + exports: [CommentsService], +}) +export class CommentsModule {} diff --git a/backend/src/comments/comments.service.ts b/backend/src/comments/comments.service.ts new file mode 100644 index 0000000..97e1256 --- /dev/null +++ b/backend/src/comments/comments.service.ts @@ -0,0 +1,38 @@ +import { Injectable } from '@nestjs/common'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class CommentsService { + constructor(private prisma: PrismaService) {} + + create(data: { + author_id: string; + destination_id: string; + service_id?: string; + content?: string; + score: number; + is_from_user: boolean; + }) { + return this.prisma.comments.create({ data }); + } + + getScoresForUser(userId: string) { + return this.prisma.comments.findMany({ + where: { destination_id: userId, is_from_user: false }, + include: { users_comments_author_idTousers: { select: { name: true, picture: true } } }, + orderBy: { created_at: 'desc' }, + }); + } + + getScoresForProfessional(userId: string) { + return this.prisma.comments.findMany({ + where: { destination_id: userId, is_from_user: true }, + include: { users_comments_author_idTousers: { select: { name: true, picture: true } } }, + orderBy: { created_at: 'desc' }, + }); + } + + getReputation(userId: string) { + return this.prisma.reputations.findUnique({ where: { user_id: userId } }); + } +} diff --git a/backend/src/generated/prisma/browser.ts b/backend/src/generated/prisma/browser.ts new file mode 100644 index 0000000..ac12a38 --- /dev/null +++ b/backend/src/generated/prisma/browser.ts @@ -0,0 +1,94 @@ + +/* !!! 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' +export { Prisma } +export * as $Enums from './enums' +export * from './enums'; +/** + * Model chats + * + */ +export type chats = Prisma.chatsModel +/** + * Model cities + * + */ +export type cities = Prisma.citiesModel +/** + * Model comments + * This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info. + */ +export type comments = Prisma.commentsModel +/** + * Model countries + * + */ +export type countries = Prisma.countriesModel +/** + * Model messages + * + */ +export type messages = Prisma.messagesModel +/** + * Model payment_methods + * + */ +export type payment_methods = Prisma.payment_methodsModel +/** + * Model professionals + * + */ +export type professionals = Prisma.professionalsModel +/** + * Model professions + * + */ +export type professions = Prisma.professionsModel +/** + * Model regions + * + */ +export type regions = Prisma.regionsModel +/** + * Model reputations + * + */ +export type reputations = Prisma.reputationsModel +/** + * Model schedules + * This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info. + */ +export type schedules = Prisma.schedulesModel +/** + * Model services + * + */ +export type services = Prisma.servicesModel +/** + * Model settings + * + */ +export type settings = Prisma.settingsModel +/** + * Model specializations + * + */ +export type specializations = Prisma.specializationsModel +/** + * Model users + * + */ +export type users = Prisma.usersModel diff --git a/backend/src/generated/prisma/client.ts b/backend/src/generated/prisma/client.ts new file mode 100644 index 0000000..5ca2fc4 --- /dev/null +++ b/backend/src/generated/prisma/client.ts @@ -0,0 +1,116 @@ + +/* !!! 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 * as runtime from "@prisma/client/runtime/client" +import * as $Enums from "./enums" +import * as $Class from "./internal/class" +import * as Prisma from "./internal/prismaNamespace" + +export * as $Enums from './enums' +export * from "./enums" +/** + * ## Prisma Client + * + * Type-safe database client for TypeScript + * @example + * ``` + * const prisma = new PrismaClient({ + * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL }) + * }) + * // Fetch zero or more Chats + * const chats = await prisma.chats.findMany() + * ``` + * + * Read more in our [docs](https://pris.ly/d/client). + */ +export const PrismaClient = $Class.getPrismaClientClass() +export type PrismaClient = $Class.PrismaClient +export { Prisma } + +/** + * Model chats + * + */ +export type chats = Prisma.chatsModel +/** + * Model cities + * + */ +export type cities = Prisma.citiesModel +/** + * Model comments + * This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info. + */ +export type comments = Prisma.commentsModel +/** + * Model countries + * + */ +export type countries = Prisma.countriesModel +/** + * Model messages + * + */ +export type messages = Prisma.messagesModel +/** + * Model payment_methods + * + */ +export type payment_methods = Prisma.payment_methodsModel +/** + * Model professionals + * + */ +export type professionals = Prisma.professionalsModel +/** + * Model professions + * + */ +export type professions = Prisma.professionsModel +/** + * Model regions + * + */ +export type regions = Prisma.regionsModel +/** + * Model reputations + * + */ +export type reputations = Prisma.reputationsModel +/** + * Model schedules + * This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info. + */ +export type schedules = Prisma.schedulesModel +/** + * Model services + * + */ +export type services = Prisma.servicesModel +/** + * Model settings + * + */ +export type settings = Prisma.settingsModel +/** + * Model specializations + * + */ +export type specializations = Prisma.specializationsModel +/** + * Model users + * + */ +export type users = Prisma.usersModel diff --git a/backend/src/generated/prisma/commonInputTypes.ts b/backend/src/generated/prisma/commonInputTypes.ts new file mode 100644 index 0000000..e6e7252 --- /dev/null +++ b/backend/src/generated/prisma/commonInputTypes.ts @@ -0,0 +1,733 @@ + +/* !!! 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" +import type * as Prisma from "./internal/prismaNamespace" + + +export type UuidFilter<$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> + mode?: Prisma.QueryMode + not?: Prisma.NestedUuidFilter<$PrismaModel> | string +} + +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 UuidWithAggregatesFilter<$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> + mode?: Prisma.QueryMode + not?: Prisma.NestedUuidWithAggregatesFilter<$PrismaModel> | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedStringFilter<$PrismaModel> + _max?: Prisma.NestedStringFilter<$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 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 DecimalNullableFilter<$PrismaModel = never> = { + equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> | null + in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> | null + notIn?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> | null + lt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + lte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + not?: Prisma.NestedDecimalNullableFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | 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 DecimalNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> | null + in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> | null + notIn?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> | null + lt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + lte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + not?: Prisma.NestedDecimalNullableWithAggregatesFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedDecimalNullableFilter<$PrismaModel> + _sum?: Prisma.NestedDecimalNullableFilter<$PrismaModel> + _min?: Prisma.NestedDecimalNullableFilter<$PrismaModel> + _max?: Prisma.NestedDecimalNullableFilter<$PrismaModel> +} + +export type UuidNullableFilter<$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> + mode?: Prisma.QueryMode + not?: Prisma.NestedUuidNullableFilter<$PrismaModel> | string | null +} + +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 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 BoolFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolFilter<$PrismaModel> | boolean +} + +export type UuidNullableWithAggregatesFilter<$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> + mode?: Prisma.QueryMode + not?: Prisma.NestedUuidNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedStringNullableFilter<$PrismaModel> + _max?: Prisma.NestedStringNullableFilter<$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 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 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 BoolNullableFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null + not?: Prisma.NestedBoolNullableFilter<$PrismaModel> | boolean | null +} + +export type BoolNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null + not?: Prisma.NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedBoolNullableFilter<$PrismaModel> + _max?: Prisma.NestedBoolNullableFilter<$PrismaModel> +} + +export type DecimalFilter<$PrismaModel = never> = { + equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> + notIn?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> + lt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + lte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + not?: Prisma.NestedDecimalFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string +} + +export type DecimalWithAggregatesFilter<$PrismaModel = never> = { + equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> + notIn?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> + lt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + lte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + not?: Prisma.NestedDecimalWithAggregatesFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedDecimalFilter<$PrismaModel> + _sum?: Prisma.NestedDecimalFilter<$PrismaModel> + _min?: Prisma.NestedDecimalFilter<$PrismaModel> + _max?: Prisma.NestedDecimalFilter<$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 Enumservice_statusFilter<$PrismaModel = never> = { + equals?: $Enums.service_status | Prisma.Enumservice_statusFieldRefInput<$PrismaModel> + in?: $Enums.service_status[] | Prisma.ListEnumservice_statusFieldRefInput<$PrismaModel> + notIn?: $Enums.service_status[] | Prisma.ListEnumservice_statusFieldRefInput<$PrismaModel> + not?: Prisma.NestedEnumservice_statusFilter<$PrismaModel> | $Enums.service_status +} + +export type Enumservice_locationNullableFilter<$PrismaModel = never> = { + equals?: $Enums.service_location | Prisma.Enumservice_locationFieldRefInput<$PrismaModel> | null + in?: $Enums.service_location[] | Prisma.ListEnumservice_locationFieldRefInput<$PrismaModel> | null + notIn?: $Enums.service_location[] | Prisma.ListEnumservice_locationFieldRefInput<$PrismaModel> | null + not?: Prisma.NestedEnumservice_locationNullableFilter<$PrismaModel> | $Enums.service_location | null +} + +export type Enumservice_statusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.service_status | Prisma.Enumservice_statusFieldRefInput<$PrismaModel> + in?: $Enums.service_status[] | Prisma.ListEnumservice_statusFieldRefInput<$PrismaModel> + notIn?: $Enums.service_status[] | Prisma.ListEnumservice_statusFieldRefInput<$PrismaModel> + not?: Prisma.NestedEnumservice_statusWithAggregatesFilter<$PrismaModel> | $Enums.service_status + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedEnumservice_statusFilter<$PrismaModel> + _max?: Prisma.NestedEnumservice_statusFilter<$PrismaModel> +} + +export type Enumservice_locationNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.service_location | Prisma.Enumservice_locationFieldRefInput<$PrismaModel> | null + in?: $Enums.service_location[] | Prisma.ListEnumservice_locationFieldRefInput<$PrismaModel> | null + notIn?: $Enums.service_location[] | Prisma.ListEnumservice_locationFieldRefInput<$PrismaModel> | null + not?: Prisma.NestedEnumservice_locationNullableWithAggregatesFilter<$PrismaModel> | $Enums.service_location | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedEnumservice_locationNullableFilter<$PrismaModel> + _max?: Prisma.NestedEnumservice_locationNullableFilter<$PrismaModel> +} + +export type JsonFilter<$PrismaModel = never> = +| Prisma.PatchUndefined< + Prisma.Either>, Exclude>, 'path'>>, + Required> + > +| Prisma.OptionalFlat>, 'path'>> + +export type JsonFilterBase<$PrismaModel = never> = { + equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter + path?: string[] + mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel> + string_ends_with?: string | Prisma.StringFieldRefInput<$PrismaModel> + array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter +} + +export type JsonWithAggregatesFilter<$PrismaModel = never> = +| Prisma.PatchUndefined< + Prisma.Either>, Exclude>, 'path'>>, + Required> + > +| Prisma.OptionalFlat>, 'path'>> + +export type JsonWithAggregatesFilterBase<$PrismaModel = never> = { + equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter + path?: string[] + mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel> + string_ends_with?: string | Prisma.StringFieldRefInput<$PrismaModel> + array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedJsonFilter<$PrismaModel> + _max?: Prisma.NestedJsonFilter<$PrismaModel> +} + +export type NestedUuidFilter<$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> + not?: Prisma.NestedUuidFilter<$PrismaModel> | string +} + +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 NestedUuidWithAggregatesFilter<$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> + not?: Prisma.NestedUuidWithAggregatesFilter<$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 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 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 NestedDecimalNullableFilter<$PrismaModel = never> = { + equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> | null + in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> | null + notIn?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> | null + lt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + lte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + not?: Prisma.NestedDecimalNullableFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | 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 NestedDecimalNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> | null + in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> | null + notIn?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> | null + lt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + lte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + not?: Prisma.NestedDecimalNullableWithAggregatesFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedDecimalNullableFilter<$PrismaModel> + _sum?: Prisma.NestedDecimalNullableFilter<$PrismaModel> + _min?: Prisma.NestedDecimalNullableFilter<$PrismaModel> + _max?: Prisma.NestedDecimalNullableFilter<$PrismaModel> +} + +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 NestedUuidNullableFilter<$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> + not?: Prisma.NestedUuidNullableFilter<$PrismaModel> | string | null +} + +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 NestedBoolFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolFilter<$PrismaModel> | boolean +} + +export type NestedUuidNullableWithAggregatesFilter<$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> + not?: Prisma.NestedUuidNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedStringNullableFilter<$PrismaModel> + _max?: Prisma.NestedStringNullableFilter<$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 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 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 NestedBoolNullableFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null + not?: Prisma.NestedBoolNullableFilter<$PrismaModel> | boolean | null +} + +export type NestedBoolNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> | null + not?: Prisma.NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedBoolNullableFilter<$PrismaModel> + _max?: Prisma.NestedBoolNullableFilter<$PrismaModel> +} + +export type NestedDecimalFilter<$PrismaModel = never> = { + equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> + notIn?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> + lt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + lte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + not?: Prisma.NestedDecimalFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string +} + +export type NestedDecimalWithAggregatesFilter<$PrismaModel = never> = { + equals?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + in?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> + notIn?: runtime.Decimal[] | runtime.DecimalJsLike[] | number[] | string[] | Prisma.ListDecimalFieldRefInput<$PrismaModel> + lt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + lte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gt?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + gte?: runtime.Decimal | runtime.DecimalJsLike | number | string | Prisma.DecimalFieldRefInput<$PrismaModel> + not?: Prisma.NestedDecimalWithAggregatesFilter<$PrismaModel> | runtime.Decimal | runtime.DecimalJsLike | number | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedDecimalFilter<$PrismaModel> + _sum?: Prisma.NestedDecimalFilter<$PrismaModel> + _min?: Prisma.NestedDecimalFilter<$PrismaModel> + _max?: Prisma.NestedDecimalFilter<$PrismaModel> +} + +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 NestedEnumservice_statusFilter<$PrismaModel = never> = { + equals?: $Enums.service_status | Prisma.Enumservice_statusFieldRefInput<$PrismaModel> + in?: $Enums.service_status[] | Prisma.ListEnumservice_statusFieldRefInput<$PrismaModel> + notIn?: $Enums.service_status[] | Prisma.ListEnumservice_statusFieldRefInput<$PrismaModel> + not?: Prisma.NestedEnumservice_statusFilter<$PrismaModel> | $Enums.service_status +} + +export type NestedEnumservice_locationNullableFilter<$PrismaModel = never> = { + equals?: $Enums.service_location | Prisma.Enumservice_locationFieldRefInput<$PrismaModel> | null + in?: $Enums.service_location[] | Prisma.ListEnumservice_locationFieldRefInput<$PrismaModel> | null + notIn?: $Enums.service_location[] | Prisma.ListEnumservice_locationFieldRefInput<$PrismaModel> | null + not?: Prisma.NestedEnumservice_locationNullableFilter<$PrismaModel> | $Enums.service_location | null +} + +export type NestedEnumservice_statusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.service_status | Prisma.Enumservice_statusFieldRefInput<$PrismaModel> + in?: $Enums.service_status[] | Prisma.ListEnumservice_statusFieldRefInput<$PrismaModel> + notIn?: $Enums.service_status[] | Prisma.ListEnumservice_statusFieldRefInput<$PrismaModel> + not?: Prisma.NestedEnumservice_statusWithAggregatesFilter<$PrismaModel> | $Enums.service_status + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedEnumservice_statusFilter<$PrismaModel> + _max?: Prisma.NestedEnumservice_statusFilter<$PrismaModel> +} + +export type NestedEnumservice_locationNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.service_location | Prisma.Enumservice_locationFieldRefInput<$PrismaModel> | null + in?: $Enums.service_location[] | Prisma.ListEnumservice_locationFieldRefInput<$PrismaModel> | null + notIn?: $Enums.service_location[] | Prisma.ListEnumservice_locationFieldRefInput<$PrismaModel> | null + not?: Prisma.NestedEnumservice_locationNullableWithAggregatesFilter<$PrismaModel> | $Enums.service_location | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedEnumservice_locationNullableFilter<$PrismaModel> + _max?: Prisma.NestedEnumservice_locationNullableFilter<$PrismaModel> +} + +export type NestedJsonFilter<$PrismaModel = never> = +| Prisma.PatchUndefined< + Prisma.Either>, Exclude>, 'path'>>, + Required> + > +| Prisma.OptionalFlat>, 'path'>> + +export type NestedJsonFilterBase<$PrismaModel = never> = { + equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter + path?: string[] + mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel> + string_ends_with?: string | Prisma.StringFieldRefInput<$PrismaModel> + array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter +} + + diff --git a/backend/src/generated/prisma/enums.ts b/backend/src/generated/prisma/enums.ts new file mode 100644 index 0000000..3349f62 --- /dev/null +++ b/backend/src/generated/prisma/enums.ts @@ -0,0 +1,30 @@ + +/* !!! 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. +*/ + +export const service_location = { + office: 'office', + delivery: 'delivery' +} as const + +export type service_location = (typeof service_location)[keyof typeof service_location] + + +export const service_status = { + pending: 'pending', + accepted: 'accepted', + denied: 'denied', + active: 'active', + cancelled: 'cancelled', + completed: 'completed', + self_booked: 'self_booked' +} as const + +export type service_status = (typeof service_status)[keyof typeof service_status] diff --git a/backend/src/generated/prisma/internal/class.ts b/backend/src/generated/prisma/internal/class.ts new file mode 100644 index 0000000..b29c6e2 --- /dev/null +++ b/backend/src/generated/prisma/internal/class.ts @@ -0,0 +1,344 @@ + +/* !!! 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" + + +const config: runtime.GetPrismaClientConfig = { + "previewFeatures": [], + "clientVersion": "7.8.0", + "engineVersion": "3c6e192761c0362d496ed980de936e2f3cebcd3a", + "activeProvider": "postgresql", + "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel chats {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n user_id String @db.Uuid\n professional_id String @db.Uuid\n created_at DateTime @default(now()) @db.Timestamptz(6)\n users_chats_professional_idTousers users @relation(\"chats_professional_idTousers\", fields: [professional_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n users_chats_user_idTousers users @relation(\"chats_user_idTousers\", fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n messages messages[]\n\n @@unique([user_id, professional_id])\n @@index([professional_id], map: \"idx_chats_professional_id\")\n @@index([user_id], map: \"idx_chats_user_id\")\n}\n\nmodel cities {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n region_id String @db.Uuid\n name String @db.VarChar(255)\n latitude Decimal? @db.Decimal(10, 7)\n longitude Decimal? @db.Decimal(10, 7)\n regions regions @relation(fields: [region_id], references: [id], onDelete: Cascade, onUpdate: NoAction)\n\n @@index([region_id], map: \"idx_cities_region_id\")\n}\n\n/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.\nmodel comments {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n author_id String @db.Uuid\n destination_id String @db.Uuid\n service_id String? @db.Uuid\n content String?\n score Int @db.SmallInt\n is_from_user Boolean @default(true)\n created_at DateTime @default(now()) @db.Timestamptz(6)\n users_comments_author_idTousers users @relation(\"comments_author_idTousers\", fields: [author_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n users_comments_destination_idTousers users @relation(\"comments_destination_idTousers\", fields: [destination_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n services services? @relation(fields: [service_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@index([author_id], map: \"idx_comments_author_id\")\n @@index([destination_id], map: \"idx_comments_destination_id\")\n @@index([service_id], map: \"idx_comments_service_id\")\n}\n\nmodel countries {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n name String @unique @db.VarChar(255)\n regions regions[]\n}\n\nmodel messages {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n chat_id String @db.Uuid\n sender_id String @db.Uuid\n content String\n created_at DateTime @default(now()) @db.Timestamptz(6)\n chats chats @relation(fields: [chat_id], references: [id], onDelete: Cascade, onUpdate: NoAction)\n users users @relation(fields: [sender_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@index([chat_id], map: \"idx_messages_chat_id\")\n @@index([created_at], map: \"idx_messages_created_at\")\n}\n\nmodel payment_methods {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n professional_id String @unique @db.Uuid\n nequi Boolean? @default(false)\n datafono Boolean? @default(false)\n transferencia Boolean? @default(false)\n professionals professionals @relation(fields: [professional_id], references: [id], onDelete: Cascade, onUpdate: NoAction)\n}\n\nmodel professionals {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n user_id String @unique @db.Uuid\n identification String? @db.VarChar(50)\n address String?\n additional_address String?\n profession String? @db.VarChar(255)\n rate Decimal? @db.Decimal(10, 2)\n rate_preferences String?\n location_preferences String? @default(\"office\") @db.VarChar(20)\n banner_picture String?\n identification_picture String?\n certificate_picture String?\n latitude Decimal? @db.Decimal(10, 7)\n longitude Decimal? @db.Decimal(10, 7)\n average_score Decimal? @default(0) @db.Decimal(3, 2)\n is_active Boolean? @default(true)\n created_at DateTime @default(now()) @db.Timestamptz(6)\n updated_at DateTime @default(now()) @db.Timestamptz(6)\n payment_methods payment_methods?\n users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)\n schedules schedules[]\n services services[]\n specializations specializations[]\n\n @@index([user_id], map: \"idx_professionals_user_id\")\n}\n\nmodel professions {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n name String @unique @db.VarChar(255)\n}\n\nmodel regions {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n country_id String @db.Uuid\n name String @db.VarChar(255)\n cities cities[]\n countries countries @relation(fields: [country_id], references: [id], onDelete: Cascade, onUpdate: NoAction)\n\n @@index([country_id], map: \"idx_regions_country_id\")\n}\n\nmodel reputations {\n user_id String @id @db.Uuid\n total Int @default(0)\n average Decimal @default(0) @db.Decimal(3, 2)\n total_pro Int @default(0)\n average_pro Decimal @default(0) @db.Decimal(3, 2)\n updated_at DateTime @default(now()) @db.Timestamptz(6)\n users users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)\n}\n\n/// This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info.\nmodel schedules {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n professional_id String @db.Uuid\n day_of_week Int @db.SmallInt\n enabled Boolean? @default(false)\n continuous_day Boolean? @default(false)\n range1_hour1 DateTime? @db.Time(6)\n range1_hour2 DateTime? @db.Time(6)\n range2_hour1 DateTime? @db.Time(6)\n range2_hour2 DateTime? @db.Time(6)\n professionals professionals @relation(fields: [professional_id], references: [id], onDelete: Cascade, onUpdate: NoAction)\n\n @@unique([professional_id, day_of_week])\n @@index([professional_id], map: \"idx_schedules_professional_id\")\n}\n\nmodel services {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n professional_id String @db.Uuid\n user_id String @db.Uuid\n address String?\n additional_address String?\n latitude Decimal? @db.Decimal(10, 7)\n longitude Decimal? @db.Decimal(10, 7)\n day DateTime @db.Date\n description String?\n rate Decimal? @db.Decimal(10, 2)\n range1_hour1 DateTime? @db.Time(6)\n range1_hour2 DateTime? @db.Time(6)\n status service_status @default(pending)\n location_preference service_location? @default(office)\n professional_scored Boolean? @default(false)\n user_scored Boolean? @default(false)\n created_at DateTime @default(now()) @db.Timestamptz(6)\n updated_at DateTime @default(now()) @db.Timestamptz(6)\n comments comments[]\n professionals professionals @relation(fields: [professional_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n users users @relation(fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@index([day], map: \"idx_services_day\")\n @@index([professional_id], map: \"idx_services_professional_id\")\n @@index([status], map: \"idx_services_status\")\n @@index([user_id], map: \"idx_services_user_id\")\n}\n\nmodel settings {\n key String @id @db.VarChar(100)\n value Json\n updated_at DateTime @default(now()) @db.Timestamptz(6)\n}\n\nmodel specializations {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n professional_id String @db.Uuid\n name String @db.VarChar(255)\n picture String?\n professionals professionals @relation(fields: [professional_id], references: [id], onDelete: Cascade, onUpdate: NoAction)\n\n @@index([professional_id], map: \"idx_specializations_professional_id\")\n}\n\nmodel users {\n id String @id @default(dbgenerated(\"uuid_generate_v4()\")) @db.Uuid\n email String? @unique @db.VarChar(255)\n phone String? @unique @db.VarChar(20)\n password_hash String? @db.VarChar(255)\n name String @db.VarChar(255)\n nickname String? @db.VarChar(100)\n city String? @db.VarChar(100)\n picture String?\n birthday DateTime? @db.Date\n gender String? @db.VarChar(20)\n pro_state Int @default(0) @db.SmallInt\n fcm_token String?\n is_phone_verified Boolean? @default(false)\n is_email_verified Boolean? @default(false)\n created_at DateTime @default(now()) @db.Timestamptz(6)\n updated_at DateTime @default(now()) @db.Timestamptz(6)\n chats_chats_professional_idTousers chats[] @relation(\"chats_professional_idTousers\")\n chats_chats_user_idTousers chats[] @relation(\"chats_user_idTousers\")\n comments_comments_author_idTousers comments[] @relation(\"comments_author_idTousers\")\n comments_comments_destination_idTousers comments[] @relation(\"comments_destination_idTousers\")\n messages messages[]\n professionals professionals?\n reputations reputations?\n services services[]\n}\n\nenum service_location {\n office\n delivery\n}\n\nenum service_status {\n pending\n accepted\n denied\n active\n cancelled\n completed\n self_booked\n}\n", + "runtimeDataModel": { + "models": {}, + "enums": {}, + "types": {} + }, + "parameterizationSchema": { + "strings": [], + "graph": "" + } +} + +config.runtimeDataModel = JSON.parse("{\"models\":{\"chats\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"users_chats_professional_idTousers\",\"kind\":\"object\",\"type\":\"users\",\"relationName\":\"chats_professional_idTousers\"},{\"name\":\"users_chats_user_idTousers\",\"kind\":\"object\",\"type\":\"users\",\"relationName\":\"chats_user_idTousers\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"messages\",\"relationName\":\"chatsTomessages\"}],\"dbName\":null},\"cities\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"region_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"regions\",\"kind\":\"object\",\"type\":\"regions\",\"relationName\":\"citiesToregions\"}],\"dbName\":null},\"comments\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"author_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"destination_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"service_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_from_user\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"users_comments_author_idTousers\",\"kind\":\"object\",\"type\":\"users\",\"relationName\":\"comments_author_idTousers\"},{\"name\":\"users_comments_destination_idTousers\",\"kind\":\"object\",\"type\":\"users\",\"relationName\":\"comments_destination_idTousers\"},{\"name\":\"services\",\"kind\":\"object\",\"type\":\"services\",\"relationName\":\"commentsToservices\"}],\"dbName\":null},\"countries\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"regions\",\"kind\":\"object\",\"type\":\"regions\",\"relationName\":\"countriesToregions\"}],\"dbName\":null},\"messages\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"chat_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"chats\",\"kind\":\"object\",\"type\":\"chats\",\"relationName\":\"chatsTomessages\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"users\",\"relationName\":\"messagesTousers\"}],\"dbName\":null},\"payment_methods\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nequi\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"datafono\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"transferencia\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"professionals\",\"kind\":\"object\",\"type\":\"professionals\",\"relationName\":\"payment_methodsToprofessionals\"}],\"dbName\":null},\"professionals\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identification\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"additional_address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"profession\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rate\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"rate_preferences\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location_preferences\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"banner_picture\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identification_picture\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"certificate_picture\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"average_score\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payment_methods\",\"kind\":\"object\",\"type\":\"payment_methods\",\"relationName\":\"payment_methodsToprofessionals\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"users\",\"relationName\":\"professionalsTousers\"},{\"name\":\"schedules\",\"kind\":\"object\",\"type\":\"schedules\",\"relationName\":\"professionalsToschedules\"},{\"name\":\"services\",\"kind\":\"object\",\"type\":\"services\",\"relationName\":\"professionalsToservices\"},{\"name\":\"specializations\",\"kind\":\"object\",\"type\":\"specializations\",\"relationName\":\"professionalsTospecializations\"}],\"dbName\":null},\"professions\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"regions\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cities\",\"kind\":\"object\",\"type\":\"cities\",\"relationName\":\"citiesToregions\"},{\"name\":\"countries\",\"kind\":\"object\",\"type\":\"countries\",\"relationName\":\"countriesToregions\"}],\"dbName\":null},\"reputations\":{\"fields\":[{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"total\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"average\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"total_pro\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"average_pro\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"users\",\"relationName\":\"reputationsTousers\"}],\"dbName\":null},\"schedules\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"day_of_week\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"continuous_day\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"range1_hour1\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"range1_hour2\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"range2_hour1\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"range2_hour2\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"professionals\",\"kind\":\"object\",\"type\":\"professionals\",\"relationName\":\"professionalsToschedules\"}],\"dbName\":null},\"services\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"additional_address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"day\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rate\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"range1_hour1\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"range1_hour2\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"service_status\"},{\"name\":\"location_preference\",\"kind\":\"enum\",\"type\":\"service_location\"},{\"name\":\"professional_scored\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user_scored\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"comments\",\"kind\":\"object\",\"type\":\"comments\",\"relationName\":\"commentsToservices\"},{\"name\":\"professionals\",\"kind\":\"object\",\"type\":\"professionals\",\"relationName\":\"professionalsToservices\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"users\",\"relationName\":\"servicesTousers\"}],\"dbName\":null},\"settings\":{\"fields\":[{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"specializations\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"picture\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professionals\",\"kind\":\"object\",\"type\":\"professionals\",\"relationName\":\"professionalsTospecializations\"}],\"dbName\":null},\"users\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nickname\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"picture\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"birthday\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pro_state\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"fcm_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_phone_verified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_email_verified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"chats_chats_professional_idTousers\",\"kind\":\"object\",\"type\":\"chats\",\"relationName\":\"chats_professional_idTousers\"},{\"name\":\"chats_chats_user_idTousers\",\"kind\":\"object\",\"type\":\"chats\",\"relationName\":\"chats_user_idTousers\"},{\"name\":\"comments_comments_author_idTousers\",\"kind\":\"object\",\"type\":\"comments\",\"relationName\":\"comments_author_idTousers\"},{\"name\":\"comments_comments_destination_idTousers\",\"kind\":\"object\",\"type\":\"comments\",\"relationName\":\"comments_destination_idTousers\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"messages\",\"relationName\":\"messagesTousers\"},{\"name\":\"professionals\",\"kind\":\"object\",\"type\":\"professionals\",\"relationName\":\"professionalsTousers\"},{\"name\":\"reputations\",\"kind\":\"object\",\"type\":\"reputations\",\"relationName\":\"reputationsTousers\"},{\"name\":\"services\",\"kind\":\"object\",\"type\":\"services\",\"relationName\":\"servicesTousers\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +config.parameterizationSchema = { + strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"chats_chats_professional_idTousers\",\"chats_chats_user_idTousers\",\"users_comments_author_idTousers\",\"users_comments_destination_idTousers\",\"comments\",\"professionals\",\"payment_methods\",\"users\",\"schedules\",\"services\",\"specializations\",\"_count\",\"comments_comments_author_idTousers\",\"comments_comments_destination_idTousers\",\"chats\",\"messages\",\"reputations\",\"users_chats_professional_idTousers\",\"users_chats_user_idTousers\",\"chats.findUnique\",\"chats.findUniqueOrThrow\",\"chats.findFirst\",\"chats.findFirstOrThrow\",\"chats.findMany\",\"data\",\"chats.createOne\",\"chats.createMany\",\"chats.createManyAndReturn\",\"chats.updateOne\",\"chats.updateMany\",\"chats.updateManyAndReturn\",\"create\",\"update\",\"chats.upsertOne\",\"chats.deleteOne\",\"chats.deleteMany\",\"having\",\"_min\",\"_max\",\"chats.groupBy\",\"chats.aggregate\",\"cities\",\"regions\",\"countries\",\"cities.findUnique\",\"cities.findUniqueOrThrow\",\"cities.findFirst\",\"cities.findFirstOrThrow\",\"cities.findMany\",\"cities.createOne\",\"cities.createMany\",\"cities.createManyAndReturn\",\"cities.updateOne\",\"cities.updateMany\",\"cities.updateManyAndReturn\",\"cities.upsertOne\",\"cities.deleteOne\",\"cities.deleteMany\",\"_avg\",\"_sum\",\"cities.groupBy\",\"cities.aggregate\",\"comments.findUnique\",\"comments.findUniqueOrThrow\",\"comments.findFirst\",\"comments.findFirstOrThrow\",\"comments.findMany\",\"comments.createOne\",\"comments.createMany\",\"comments.createManyAndReturn\",\"comments.updateOne\",\"comments.updateMany\",\"comments.updateManyAndReturn\",\"comments.upsertOne\",\"comments.deleteOne\",\"comments.deleteMany\",\"comments.groupBy\",\"comments.aggregate\",\"countries.findUnique\",\"countries.findUniqueOrThrow\",\"countries.findFirst\",\"countries.findFirstOrThrow\",\"countries.findMany\",\"countries.createOne\",\"countries.createMany\",\"countries.createManyAndReturn\",\"countries.updateOne\",\"countries.updateMany\",\"countries.updateManyAndReturn\",\"countries.upsertOne\",\"countries.deleteOne\",\"countries.deleteMany\",\"countries.groupBy\",\"countries.aggregate\",\"messages.findUnique\",\"messages.findUniqueOrThrow\",\"messages.findFirst\",\"messages.findFirstOrThrow\",\"messages.findMany\",\"messages.createOne\",\"messages.createMany\",\"messages.createManyAndReturn\",\"messages.updateOne\",\"messages.updateMany\",\"messages.updateManyAndReturn\",\"messages.upsertOne\",\"messages.deleteOne\",\"messages.deleteMany\",\"messages.groupBy\",\"messages.aggregate\",\"payment_methods.findUnique\",\"payment_methods.findUniqueOrThrow\",\"payment_methods.findFirst\",\"payment_methods.findFirstOrThrow\",\"payment_methods.findMany\",\"payment_methods.createOne\",\"payment_methods.createMany\",\"payment_methods.createManyAndReturn\",\"payment_methods.updateOne\",\"payment_methods.updateMany\",\"payment_methods.updateManyAndReturn\",\"payment_methods.upsertOne\",\"payment_methods.deleteOne\",\"payment_methods.deleteMany\",\"payment_methods.groupBy\",\"payment_methods.aggregate\",\"professionals.findUnique\",\"professionals.findUniqueOrThrow\",\"professionals.findFirst\",\"professionals.findFirstOrThrow\",\"professionals.findMany\",\"professionals.createOne\",\"professionals.createMany\",\"professionals.createManyAndReturn\",\"professionals.updateOne\",\"professionals.updateMany\",\"professionals.updateManyAndReturn\",\"professionals.upsertOne\",\"professionals.deleteOne\",\"professionals.deleteMany\",\"professionals.groupBy\",\"professionals.aggregate\",\"professions.findUnique\",\"professions.findUniqueOrThrow\",\"professions.findFirst\",\"professions.findFirstOrThrow\",\"professions.findMany\",\"professions.createOne\",\"professions.createMany\",\"professions.createManyAndReturn\",\"professions.updateOne\",\"professions.updateMany\",\"professions.updateManyAndReturn\",\"professions.upsertOne\",\"professions.deleteOne\",\"professions.deleteMany\",\"professions.groupBy\",\"professions.aggregate\",\"regions.findUnique\",\"regions.findUniqueOrThrow\",\"regions.findFirst\",\"regions.findFirstOrThrow\",\"regions.findMany\",\"regions.createOne\",\"regions.createMany\",\"regions.createManyAndReturn\",\"regions.updateOne\",\"regions.updateMany\",\"regions.updateManyAndReturn\",\"regions.upsertOne\",\"regions.deleteOne\",\"regions.deleteMany\",\"regions.groupBy\",\"regions.aggregate\",\"reputations.findUnique\",\"reputations.findUniqueOrThrow\",\"reputations.findFirst\",\"reputations.findFirstOrThrow\",\"reputations.findMany\",\"reputations.createOne\",\"reputations.createMany\",\"reputations.createManyAndReturn\",\"reputations.updateOne\",\"reputations.updateMany\",\"reputations.updateManyAndReturn\",\"reputations.upsertOne\",\"reputations.deleteOne\",\"reputations.deleteMany\",\"reputations.groupBy\",\"reputations.aggregate\",\"schedules.findUnique\",\"schedules.findUniqueOrThrow\",\"schedules.findFirst\",\"schedules.findFirstOrThrow\",\"schedules.findMany\",\"schedules.createOne\",\"schedules.createMany\",\"schedules.createManyAndReturn\",\"schedules.updateOne\",\"schedules.updateMany\",\"schedules.updateManyAndReturn\",\"schedules.upsertOne\",\"schedules.deleteOne\",\"schedules.deleteMany\",\"schedules.groupBy\",\"schedules.aggregate\",\"services.findUnique\",\"services.findUniqueOrThrow\",\"services.findFirst\",\"services.findFirstOrThrow\",\"services.findMany\",\"services.createOne\",\"services.createMany\",\"services.createManyAndReturn\",\"services.updateOne\",\"services.updateMany\",\"services.updateManyAndReturn\",\"services.upsertOne\",\"services.deleteOne\",\"services.deleteMany\",\"services.groupBy\",\"services.aggregate\",\"settings.findUnique\",\"settings.findUniqueOrThrow\",\"settings.findFirst\",\"settings.findFirstOrThrow\",\"settings.findMany\",\"settings.createOne\",\"settings.createMany\",\"settings.createManyAndReturn\",\"settings.updateOne\",\"settings.updateMany\",\"settings.updateManyAndReturn\",\"settings.upsertOne\",\"settings.deleteOne\",\"settings.deleteMany\",\"settings.groupBy\",\"settings.aggregate\",\"specializations.findUnique\",\"specializations.findUniqueOrThrow\",\"specializations.findFirst\",\"specializations.findFirstOrThrow\",\"specializations.findMany\",\"specializations.createOne\",\"specializations.createMany\",\"specializations.createManyAndReturn\",\"specializations.updateOne\",\"specializations.updateMany\",\"specializations.updateManyAndReturn\",\"specializations.upsertOne\",\"specializations.deleteOne\",\"specializations.deleteMany\",\"specializations.groupBy\",\"specializations.aggregate\",\"users.findUnique\",\"users.findUniqueOrThrow\",\"users.findFirst\",\"users.findFirstOrThrow\",\"users.findMany\",\"users.createOne\",\"users.createMany\",\"users.createManyAndReturn\",\"users.updateOne\",\"users.updateMany\",\"users.updateManyAndReturn\",\"users.upsertOne\",\"users.deleteOne\",\"users.deleteMany\",\"users.groupBy\",\"users.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"email\",\"phone\",\"password_hash\",\"name\",\"nickname\",\"city\",\"picture\",\"birthday\",\"gender\",\"pro_state\",\"fcm_token\",\"is_phone_verified\",\"is_email_verified\",\"created_at\",\"updated_at\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"every\",\"some\",\"none\",\"professional_id\",\"key\",\"value\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"user_id\",\"address\",\"additional_address\",\"latitude\",\"longitude\",\"day\",\"description\",\"rate\",\"range1_hour1\",\"range1_hour2\",\"service_status\",\"status\",\"service_location\",\"location_preference\",\"professional_scored\",\"user_scored\",\"day_of_week\",\"enabled\",\"continuous_day\",\"range2_hour1\",\"range2_hour2\",\"total\",\"average\",\"total_pro\",\"average_pro\",\"country_id\",\"identification\",\"profession\",\"rate_preferences\",\"location_preferences\",\"banner_picture\",\"identification_picture\",\"certificate_picture\",\"average_score\",\"is_active\",\"nequi\",\"datafono\",\"transferencia\",\"chat_id\",\"sender_id\",\"content\",\"author_id\",\"destination_id\",\"service_id\",\"score\",\"is_from_user\",\"region_id\",\"professional_id_day_of_week\",\"user_id_professional_id\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), + graph: "kQeNAfABCxIAALkDACAUAADVAwAgFQAA1QMAIJECAACABAAwkgIAAAMAEJMCAACABAAwlAIBAAAAAaICQAC2AwAhsgIBALADACG7AgEAsAMAIesCAACBBAAgAQAAAAEAIAoSAAC5AwAgFAAA1QMAIBUAANUDACCRAgAAgAQAMJICAAADABCTAgAAgAQAMJQCAQCwAwAhogJAALYDACGyAgEAsAMAIbsCAQCwAwAhAxIAAMcFACAUAADmBQAgFQAA5gUAIAMAAAADACABAAAEADACAAABACADAAAAAwAgAQAABAAwAgAAAQAgDgUAANUDACAGAADVAwAgDAAA_gMAIJECAAD7AwAwkgIAAAcAEJMCAAD7AwAwlAIBALADACGiAkAAtgMAIeMCAQCxAwAh5AIBALADACHlAgEAsAMAIeYCAQD8AwAh5wICALQDACHoAiAA_QMAIQUFAADmBQAgBgAA5gUAIAwAALQGACDjAgAAggQAIOYCAACCBAAgDgUAANUDACAGAADVAwAgDAAA_gMAIJECAAD7AwAwkgIAAAcAEJMCAAD7AwAwlAIBAAAAAaICQAC2AwAh4wIBALEDACHkAgEAsAMAIeUCAQCwAwAh5gIBAPwDACHnAgIAtAMAIegCIAD9AwAhAwAAAAcAIAEAAAgAMAIAAAkAIBgHAAC4AwAgCAAA4QMAIAoAANUDACCRAgAA9gMAMJICAAALABCTAgAA9gMAMJQCAQCwAwAhogJAALYDACGjAkAAtgMAIbICAQCwAwAhuwIBALADACG8AgEAsQMAIb0CAQCxAwAhvgIQANsDACG_AhAA2wMAIcACQAC2AwAhwQIBALEDACHCAhAA2wMAIcMCQACzAwAhxAJAALMDACHGAgAA9wPGAiLIAgAA-APIAiPJAiAAtQMAIcoCIAC1AwAhAQAAAAsAIAMAAAAHACABAAAIADACAAAJACAJCAAA4QMAIJECAADgAwAwkgIAAA4AEJMCAADgAwAwlAIBALADACGyAgEAsAMAId4CIAC1AwAh3wIgALUDACHgAiAAtQMAIQEAAAAOACANCAAA4QMAIJECAAD6AwAwkgIAABAAEJMCAAD6AwAwlAIBALADACGyAgEAsAMAIcMCQACzAwAhxAJAALMDACHLAgIAtAMAIcwCIAC1AwAhzQIgALUDACHOAkAAswMAIc8CQACzAwAhBwgAAMgFACDDAgAAggQAIMQCAACCBAAgzAIAAIIEACDNAgAAggQAIM4CAACCBAAgzwIAAIIEACAOCAAA4QMAIJECAAD6AwAwkgIAABAAEJMCAAD6AwAwlAIBAAAAAbICAQCwAwAhwwJAALMDACHEAkAAswMAIcsCAgC0AwAhzAIgALUDACHNAiAAtQMAIc4CQACzAwAhzwJAALMDACHqAgAA-QMAIAMAAAAQACABAAARADACAAASACAOBwAAxgUAIAgAAMgFACAKAADmBQAgvAIAAIIEACC9AgAAggQAIL4CAACCBAAgvwIAAIIEACDBAgAAggQAIMICAACCBAAgwwIAAIIEACDEAgAAggQAIMgCAACCBAAgyQIAAIIEACDKAgAAggQAIBgHAAC4AwAgCAAA4QMAIAoAANUDACCRAgAA9gMAMJICAAALABCTAgAA9gMAMJQCAQAAAAGiAkAAtgMAIaMCQAC2AwAhsgIBALADACG7AgEAsAMAIbwCAQCxAwAhvQIBALEDACG-AhAA2wMAIb8CEADbAwAhwAJAALYDACHBAgEAsQMAIcICEADbAwAhwwJAALMDACHEAkAAswMAIcYCAAD3A8YCIsgCAAD4A8gCI8kCIAC1AwAhygIgALUDACEDAAAACwAgAQAAFAAwAgAAFQAgCAgAAOEDACCRAgAA9QMAMJICAAAXABCTAgAA9QMAMJQCAQCwAwAhmAIBALIDACGbAgEAsQMAIbICAQCwAwAhAggAAMgFACCbAgAAggQAIAgIAADhAwAgkQIAAPUDADCSAgAAFwAQkwIAAPUDADCUAgEAAAABmAIBALIDACGbAgEAsQMAIbICAQCwAwAhAwAAABcAIAEAABgAMAIAABkAIAEAAAAQACABAAAACwAgAQAAABcAIAEAAAAHACADAAAABwAgAQAACAAwAgAACQAgCgoAANUDACARAAD0AwAgkQIAAPMDADCSAgAAIAAQkwIAAPMDADCUAgEAsAMAIaICQAC2AwAh4QIBALADACHiAgEAsAMAIeMCAQCyAwAhAgoAAOYFACARAACzBgAgCgoAANUDACARAAD0AwAgkQIAAPMDADCSAgAAIAAQkwIAAPMDADCUAgEAAAABogJAALYDACHhAgEAsAMAIeICAQCwAwAh4wIBALIDACEDAAAAIAAgAQAAIQAwAgAAIgAgGgkAANwDACAKAADVAwAgCwAA3QMAIAwAALwDACANAADeAwAgkQIAANoDADCSAgAAJAAQkwIAANoDADCUAgEAsAMAIaICQAC2AwAhowJAALYDACG7AgEAsAMAIbwCAQCxAwAhvQIBALEDACG-AhAA2wMAIb8CEADbAwAhwgIQANsDACHVAgEAsQMAIdYCAQCxAwAh1wIBALEDACHYAgEAsQMAIdkCAQCxAwAh2gIBALEDACHbAgEAsQMAIdwCEADbAwAh3QIgALUDACEBAAAAJAAgCgoAANUDACCRAgAA0wMAMJICAAAmABCTAgAA0wMAMKMCQAC2AwAhuwIBALADACHQAgIAtAMAIdECEADUAwAh0gICALQDACHTAhAA1AMAIQEAAAAmACADAAAACwAgAQAAFAAwAgAAFQAgAQAAAAMAIAEAAAADACABAAAABwAgAQAAAAcAIAEAAAAgACABAAAACwAgAwAAACAAIAEAACEAMAIAACIAIAEAAAAgACABAAAAAQAgAwAAAAMAIAEAAAQAMAIAAAEAIAMAAAADACABAAAEADACAAABACADAAAAAwAgAQAABAAwAgAAAQAgBxIAALEFACAUAACwBQAgFQAAvAUAIJQCAQAAAAGiAkAAAAABsgIBAAAAAbsCAQAAAAEBGwAANQAgBJQCAQAAAAGiAkAAAAABsgIBAAAAAbsCAQAAAAEBGwAANwAwARsAADcAMAcSAACjBQAgFAAAogUAIBUAALoFACCUAgEAiAQAIaICQACNBAAhsgIBAIgEACG7AgEAiAQAIQIAAAABACAbAAA6ACAElAIBAIgEACGiAkAAjQQAIbICAQCIBAAhuwIBAIgEACECAAAAAwAgGwAAPAAgAgAAAAMAIBsAADwAIAMAAAABACAiAAA1ACAjAAA6ACABAAAAAQAgAQAAAAMAIAMOAACwBgAgKAAAsgYAICkAALEGACAHkQIAAPIDADCSAgAAQwAQkwIAAPIDADCUAgEAmQMAIaICQACfAwAhsgIBAJkDACG7AgEAmQMAIQMAAAADACABAABCADAnAABDACADAAAAAwAgAQAABAAwAgAAAQAgCS0AAPEDACCRAgAA8AMAMJICAABIABCTAgAA8AMAMJQCAQAAAAGYAgEAsgMAIb4CEADbAwAhvwIQANsDACHpAgEAsAMAIQEAAABGACAJLQAA8QMAIJECAADwAwAwkgIAAEgAEJMCAADwAwAwlAIBALADACGYAgEAsgMAIb4CEADbAwAhvwIQANsDACHpAgEAsAMAIQMtAACvBgAgvgIAAIIEACC_AgAAggQAIAMAAABIACABAABJADACAABGACAILAAA7gMAIC4AAO8DACCRAgAA7QMAMJICAABLABCTAgAA7QMAMJQCAQCwAwAhmAIBALIDACHUAgEAsAMAIQIsAACtBgAgLgAArgYAIAgsAADuAwAgLgAA7wMAIJECAADtAwAwkgIAAEsAEJMCAADtAwAwlAIBAAAAAZgCAQCyAwAh1AIBALADACEDAAAASwAgAQAATAAwAgAATQAgAQAAAEsAIAEAAABIACABAAAARgAgAwAAAEgAIAEAAEkAMAIAAEYAIAMAAABIACABAABJADACAABGACADAAAASAAgAQAASQAwAgAARgAgBi0AAKwGACCUAgEAAAABmAIBAAAAAb4CEAAAAAG_AhAAAAAB6QIBAAAAAQEbAABVACAFlAIBAAAAAZgCAQAAAAG-AhAAAAABvwIQAAAAAekCAQAAAAEBGwAAVwAwARsAAFcAMAYtAACrBgAglAIBAIgEACGYAgEAiAQAIb4CEACgBAAhvwIQAKAEACHpAgEAiAQAIQIAAABGACAbAABaACAFlAIBAIgEACGYAgEAiAQAIb4CEACgBAAhvwIQAKAEACHpAgEAiAQAIQIAAABIACAbAABcACACAAAASAAgGwAAXAAgAwAAAEYAICIAAFUAICMAAFoAIAEAAABGACABAAAASAAgBw4AAKYGACAoAACpBgAgKQAAqAYAID0AAKcGACA-AACqBgAgvgIAAIIEACC_AgAAggQAIAiRAgAA7AMAMJICAABjABCTAgAA7AMAMJQCAQCZAwAhmAIBAJsDACG-AhAAxQMAIb8CEADFAwAh6QIBAJkDACEDAAAASAAgAQAAYgAwJwAAYwAgAwAAAEgAIAEAAEkAMAIAAEYAIAEAAAAJACABAAAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACADAAAABwAgAQAACAAwAgAACQAgCwUAALUEACAGAAC2BAAgDAAAjQUAIJQCAQAAAAGiAkAAAAAB4wIBAAAAAeQCAQAAAAHlAgEAAAAB5gIBAAAAAecCAgAAAAHoAiAAAAABARsAAGsAIAiUAgEAAAABogJAAAAAAeMCAQAAAAHkAgEAAAAB5QIBAAAAAeYCAQAAAAHnAgIAAAAB6AIgAAAAAQEbAABtADABGwAAbQAwAQAAAAsAIAsFAACyBAAgBgAAswQAIAwAAIsFACCUAgEAiAQAIaICQACNBAAh4wIBAIkEACHkAgEAiAQAIeUCAQCIBAAh5gIBAIkEACHnAgIAiwQAIegCIACwBAAhAgAAAAkAIBsAAHEAIAiUAgEAiAQAIaICQACNBAAh4wIBAIkEACHkAgEAiAQAIeUCAQCIBAAh5gIBAIkEACHnAgIAiwQAIegCIACwBAAhAgAAAAcAIBsAAHMAIAIAAAAHACAbAABzACABAAAACwAgAwAAAAkAICIAAGsAICMAAHEAIAEAAAAJACABAAAABwAgBw4AAKEGACAoAACkBgAgKQAAowYAID0AAKIGACA-AAClBgAg4wIAAIIEACDmAgAAggQAIAuRAgAA5gMAMJICAAB7ABCTAgAA5gMAMJQCAQCZAwAhogJAAJ8DACHjAgEAmgMAIeQCAQCZAwAh5QIBAJkDACHmAgEA5wMAIecCAgCdAwAh6AIgAOgDACEDAAAABwAgAQAAegAwJwAAewAgAwAAAAcAIAEAAAgAMAIAAAkAIAYtAADlAwAgkQIAAOQDADCSAgAAgQEAEJMCAADkAwAwlAIBAAAAAZgCAQAAAAEBAAAAfgAgAQAAAH4AIAYtAADlAwAgkQIAAOQDADCSAgAAgQEAEJMCAADkAwAwlAIBALADACGYAgEAsgMAIQEtAACgBgAgAwAAAIEBACABAACCAQAwAgAAfgAgAwAAAIEBACABAACCAQAwAgAAfgAgAwAAAIEBACABAACCAQAwAgAAfgAgAy0AAJ8GACCUAgEAAAABmAIBAAAAAQEbAACGAQAgApQCAQAAAAGYAgEAAAABARsAAIgBADABGwAAiAEAMAMtAACSBgAglAIBAIgEACGYAgEAiAQAIQIAAAB-ACAbAACLAQAgApQCAQCIBAAhmAIBAIgEACECAAAAgQEAIBsAAI0BACACAAAAgQEAIBsAAI0BACADAAAAfgAgIgAAhgEAICMAAIsBACABAAAAfgAgAQAAAIEBACADDgAAjwYAICgAAJEGACApAACQBgAgBZECAADjAwAwkgIAAJQBABCTAgAA4wMAMJQCAQCZAwAhmAIBAJsDACEDAAAAgQEAIAEAAJMBADAnAACUAQAgAwAAAIEBACABAACCAQAwAgAAfgAgAQAAACIAIAEAAAAiACADAAAAIAAgAQAAIQAwAgAAIgAgAwAAACAAIAEAACEAMAIAACIAIAMAAAAgACABAAAhADACAAAiACAHCgAArgUAIBEAAIIFACCUAgEAAAABogJAAAAAAeECAQAAAAHiAgEAAAAB4wIBAAAAAQEbAACcAQAgBZQCAQAAAAGiAkAAAAAB4QIBAAAAAeICAQAAAAHjAgEAAAABARsAAJ4BADABGwAAngEAMAcKAACsBQAgEQAAgAUAIJQCAQCIBAAhogJAAI0EACHhAgEAiAQAIeICAQCIBAAh4wIBAIgEACECAAAAIgAgGwAAoQEAIAWUAgEAiAQAIaICQACNBAAh4QIBAIgEACHiAgEAiAQAIeMCAQCIBAAhAgAAACAAIBsAAKMBACACAAAAIAAgGwAAowEAIAMAAAAiACAiAACcAQAgIwAAoQEAIAEAAAAiACABAAAAIAAgAw4AAIwGACAoAACOBgAgKQAAjQYAIAiRAgAA4gMAMJICAACqAQAQkwIAAOIDADCUAgEAmQMAIaICQACfAwAh4QIBAJkDACHiAgEAmQMAIeMCAQCbAwAhAwAAACAAIAEAAKkBADAnAACqAQAgAwAAACAAIAEAACEAMAIAACIAIAkIAADhAwAgkQIAAOADADCSAgAADgAQkwIAAOADADCUAgEAAAABsgIBAAAAAd4CIAC1AwAh3wIgALUDACHgAiAAtQMAIQEAAACtAQAgAQAAAK0BACAECAAAyAUAIN4CAACCBAAg3wIAAIIEACDgAgAAggQAIAMAAAAOACABAACwAQAwAgAArQEAIAMAAAAOACABAACwAQAwAgAArQEAIAMAAAAOACABAACwAQAwAgAArQEAIAYIAACLBgAglAIBAAAAAbICAQAAAAHeAiAAAAAB3wIgAAAAAeACIAAAAAEBGwAAtAEAIAWUAgEAAAABsgIBAAAAAd4CIAAAAAHfAiAAAAAB4AIgAAAAAQEbAAC2AQAwARsAALYBADAGCAAAigYAIJQCAQCIBAAhsgIBAIgEACHeAiAAjAQAId8CIACMBAAh4AIgAIwEACECAAAArQEAIBsAALkBACAFlAIBAIgEACGyAgEAiAQAId4CIACMBAAh3wIgAIwEACHgAiAAjAQAIQIAAAAOACAbAAC7AQAgAgAAAA4AIBsAALsBACADAAAArQEAICIAALQBACAjAAC5AQAgAQAAAK0BACABAAAADgAgBg4AAIcGACAoAACJBgAgKQAAiAYAIN4CAACCBAAg3wIAAIIEACDgAgAAggQAIAiRAgAA3wMAMJICAADCAQAQkwIAAN8DADCUAgEAmQMAIbICAQCZAwAh3gIgAJ4DACHfAiAAngMAIeACIACeAwAhAwAAAA4AIAEAAMEBADAnAADCAQAgAwAAAA4AIAEAALABADACAACtAQAgGgkAANwDACAKAADVAwAgCwAA3QMAIAwAALwDACANAADeAwAgkQIAANoDADCSAgAAJAAQkwIAANoDADCUAgEAAAABogJAALYDACGjAkAAtgMAIbsCAQAAAAG8AgEAsQMAIb0CAQCxAwAhvgIQANsDACG_AhAA2wMAIcICEADbAwAh1QIBALEDACHWAgEAsQMAIdcCAQCxAwAh2AIBALEDACHZAgEAsQMAIdoCAQCxAwAh2wIBALEDACHcAhAA2wMAId0CIAC1AwAhAQAAAMUBACABAAAAxQEAIBMJAACEBgAgCgAA5gUAIAsAAIUGACAMAADKBQAgDQAAhgYAILwCAACCBAAgvQIAAIIEACC-AgAAggQAIL8CAACCBAAgwgIAAIIEACDVAgAAggQAINYCAACCBAAg1wIAAIIEACDYAgAAggQAINkCAACCBAAg2gIAAIIEACDbAgAAggQAINwCAACCBAAg3QIAAIIEACADAAAAJAAgAQAAyAEAMAIAAMUBACADAAAAJAAgAQAAyAEAMAIAAMUBACADAAAAJAAgAQAAyAEAMAIAAMUBACAXCQAA8QQAIAoAAIMGACALAADyBAAgDAAA8wQAIA0AAPQEACCUAgEAAAABogJAAAAAAaMCQAAAAAG7AgEAAAABvAIBAAAAAb0CAQAAAAG-AhAAAAABvwIQAAAAAcICEAAAAAHVAgEAAAAB1gIBAAAAAdcCAQAAAAHYAgEAAAAB2QIBAAAAAdoCAQAAAAHbAgEAAAAB3AIQAAAAAd0CIAAAAAEBGwAAzAEAIBKUAgEAAAABogJAAAAAAaMCQAAAAAG7AgEAAAABvAIBAAAAAb0CAQAAAAG-AhAAAAABvwIQAAAAAcICEAAAAAHVAgEAAAAB1gIBAAAAAdcCAQAAAAHYAgEAAAAB2QIBAAAAAdoCAQAAAAHbAgEAAAAB3AIQAAAAAd0CIAAAAAEBGwAAzgEAMAEbAADOAQAwFwkAAMUEACAKAACCBgAgCwAAxgQAIAwAAMcEACANAADIBAAglAIBAIgEACGiAkAAjQQAIaMCQACNBAAhuwIBAIgEACG8AgEAiQQAIb0CAQCJBAAhvgIQAKAEACG_AhAAoAQAIcICEACgBAAh1QIBAIkEACHWAgEAiQQAIdcCAQCJBAAh2AIBAIkEACHZAgEAiQQAIdoCAQCJBAAh2wIBAIkEACHcAhAAoAQAId0CIACMBAAhAgAAAMUBACAbAADRAQAgEpQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbsCAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHCAhAAoAQAIdUCAQCJBAAh1gIBAIkEACHXAgEAiQQAIdgCAQCJBAAh2QIBAIkEACHaAgEAiQQAIdsCAQCJBAAh3AIQAKAEACHdAiAAjAQAIQIAAAAkACAbAADTAQAgAgAAACQAIBsAANMBACADAAAAxQEAICIAAMwBACAjAADRAQAgAQAAAMUBACABAAAAJAAgEw4AAP0FACAoAACABgAgKQAA_wUAID0AAP4FACA-AACBBgAgvAIAAIIEACC9AgAAggQAIL4CAACCBAAgvwIAAIIEACDCAgAAggQAINUCAACCBAAg1gIAAIIEACDXAgAAggQAINgCAACCBAAg2QIAAIIEACDaAgAAggQAINsCAACCBAAg3AIAAIIEACDdAgAAggQAIBWRAgAA2QMAMJICAADaAQAQkwIAANkDADCUAgEAmQMAIaICQACfAwAhowJAAJ8DACG7AgEAmQMAIbwCAQCaAwAhvQIBAJoDACG-AhAAxQMAIb8CEADFAwAhwgIQAMUDACHVAgEAmgMAIdYCAQCaAwAh1wIBAJoDACHYAgEAmgMAIdkCAQCaAwAh2gIBAJoDACHbAgEAmgMAIdwCEADFAwAh3QIgAJ4DACEDAAAAJAAgAQAA2QEAMCcAANoBACADAAAAJAAgAQAAyAEAMAIAAMUBACAFkQIAANgDADCSAgAA4AEAEJMCAADYAwAwlAIBAAAAAZgCAQAAAAEBAAAA3QEAIAEAAADdAQAgBZECAADYAwAwkgIAAOABABCTAgAA2AMAMJQCAQCwAwAhmAIBALIDACEAAwAAAOABACABAADhAQAwAgAA3QEAIAMAAADgAQAgAQAA4QEAMAIAAN0BACADAAAA4AEAIAEAAOEBADACAADdAQAgApQCAQAAAAGYAgEAAAABARsAAOUBACAClAIBAAAAAZgCAQAAAAEBGwAA5wEAMAEbAADnAQAwApQCAQCIBAAhmAIBAIgEACECAAAA3QEAIBsAAOoBACAClAIBAIgEACGYAgEAiAQAIQIAAADgAQAgGwAA7AEAIAIAAADgAQAgGwAA7AEAIAMAAADdAQAgIgAA5QEAICMAAOoBACABAAAA3QEAIAEAAADgAQAgAw4AAPoFACAoAAD8BQAgKQAA-wUAIAWRAgAA1wMAMJICAADzAQAQkwIAANcDADCUAgEAmQMAIZgCAQCbAwAhAwAAAOABACABAADyAQAwJwAA8wEAIAMAAADgAQAgAQAA4QEAMAIAAN0BACABAAAATQAgAQAAAE0AIAMAAABLACABAABMADACAABNACADAAAASwAgAQAATAAwAgAATQAgAwAAAEsAIAEAAEwAMAIAAE0AIAUsAAD4BQAgLgAA-QUAIJQCAQAAAAGYAgEAAAAB1AIBAAAAAQEbAAD7AQAgA5QCAQAAAAGYAgEAAAAB1AIBAAAAAQEbAAD9AQAwARsAAP0BADAFLAAA6gUAIC4AAOsFACCUAgEAiAQAIZgCAQCIBAAh1AIBAIgEACECAAAATQAgGwAAgAIAIAOUAgEAiAQAIZgCAQCIBAAh1AIBAIgEACECAAAASwAgGwAAggIAIAIAAABLACAbAACCAgAgAwAAAE0AICIAAPsBACAjAACAAgAgAQAAAE0AIAEAAABLACADDgAA5wUAICgAAOkFACApAADoBQAgBpECAADWAwAwkgIAAIkCABCTAgAA1gMAMJQCAQCZAwAhmAIBAJsDACHUAgEAmQMAIQMAAABLACABAACIAgAwJwAAiQIAIAMAAABLACABAABMADACAABNACAKCgAA1QMAIJECAADTAwAwkgIAACYAEJMCAADTAwAwowJAALYDACG7AgEAAAAB0AICALQDACHRAhAA1AMAIdICAgC0AwAh0wIQANQDACEBAAAAjAIAIAEAAACMAgAgAQoAAOYFACADAAAAJgAgAQAAjwIAMAIAAIwCACADAAAAJgAgAQAAjwIAMAIAAIwCACADAAAAJgAgAQAAjwIAMAIAAIwCACAHCgAA5QUAIKMCQAAAAAG7AgEAAAAB0AICAAAAAdECEAAAAAHSAgIAAAAB0wIQAAAAAQEbAACTAgAgBqMCQAAAAAG7AgEAAAAB0AICAAAAAdECEAAAAAHSAgIAAAAB0wIQAAAAAQEbAACVAgAwARsAAJUCADAHCgAA5AUAIKMCQACNBAAhuwIBAIgEACHQAgIAiwQAIdECEAC_BAAh0gICAIsEACHTAhAAvwQAIQIAAACMAgAgGwAAmAIAIAajAkAAjQQAIbsCAQCIBAAh0AICAIsEACHRAhAAvwQAIdICAgCLBAAh0wIQAL8EACECAAAAJgAgGwAAmgIAIAIAAAAmACAbAACaAgAgAwAAAIwCACAiAACTAgAgIwAAmAIAIAEAAACMAgAgAQAAACYAIAUOAADfBQAgKAAA4gUAICkAAOEFACA9AADgBQAgPgAA4wUAIAmRAgAAzwMAMJICAAChAgAQkwIAAM8DADCjAkAAnwMAIbsCAQCZAwAh0AICAJ0DACHRAhAA0AMAIdICAgCdAwAh0wIQANADACEDAAAAJgAgAQAAoAIAMCcAAKECACADAAAAJgAgAQAAjwIAMAIAAIwCACABAAAAEgAgAQAAABIAIAMAAAAQACABAAARADACAAASACADAAAAEAAgAQAAEQAwAgAAEgAgAwAAABAAIAEAABEAMAIAABIAIAoIAADeBQAglAIBAAAAAbICAQAAAAHDAkAAAAABxAJAAAAAAcsCAgAAAAHMAiAAAAABzQIgAAAAAc4CQAAAAAHPAkAAAAABARsAAKkCACAJlAIBAAAAAbICAQAAAAHDAkAAAAABxAJAAAAAAcsCAgAAAAHMAiAAAAABzQIgAAAAAc4CQAAAAAHPAkAAAAABARsAAKsCADABGwAAqwIAMAoIAADdBQAglAIBAIgEACGyAgEAiAQAIcMCQACKBAAhxAJAAIoEACHLAgIAiwQAIcwCIACMBAAhzQIgAIwEACHOAkAAigQAIc8CQACKBAAhAgAAABIAIBsAAK4CACAJlAIBAIgEACGyAgEAiAQAIcMCQACKBAAhxAJAAIoEACHLAgIAiwQAIcwCIACMBAAhzQIgAIwEACHOAkAAigQAIc8CQACKBAAhAgAAABAAIBsAALACACACAAAAEAAgGwAAsAIAIAMAAAASACAiAACpAgAgIwAArgIAIAEAAAASACABAAAAEAAgCw4AANgFACAoAADbBQAgKQAA2gUAID0AANkFACA-AADcBQAgwwIAAIIEACDEAgAAggQAIMwCAACCBAAgzQIAAIIEACDOAgAAggQAIM8CAACCBAAgDJECAADOAwAwkgIAALcCABCTAgAAzgMAMJQCAQCZAwAhsgIBAJkDACHDAkAAnAMAIcQCQACcAwAhywICAJ0DACHMAiAAngMAIc0CIACeAwAhzgJAAJwDACHPAkAAnAMAIQMAAAAQACABAAC2AgAwJwAAtwIAIAMAAAAQACABAAARADACAAASACABAAAAFQAgAQAAABUAIAMAAAALACABAAAUADACAAAVACADAAAACwAgAQAAFAAwAgAAFQAgAwAAAAsAIAEAABQAMAIAABUAIBUHAAC4BAAgCAAAuQQAIAoAAN8EACCUAgEAAAABogJAAAAAAaMCQAAAAAGyAgEAAAABuwIBAAAAAbwCAQAAAAG9AgEAAAABvgIQAAAAAb8CEAAAAAHAAkAAAAABwQIBAAAAAcICEAAAAAHDAkAAAAABxAJAAAAAAcYCAAAAxgICyAIAAADIAgPJAiAAAAABygIgAAAAAQEbAAC_AgAgEpQCAQAAAAGiAkAAAAABowJAAAAAAbICAQAAAAG7AgEAAAABvAIBAAAAAb0CAQAAAAG-AhAAAAABvwIQAAAAAcACQAAAAAHBAgEAAAABwgIQAAAAAcMCQAAAAAHEAkAAAAABxgIAAADGAgLIAgAAAMgCA8kCIAAAAAHKAiAAAAABARsAAMECADABGwAAwQIAMBUHAACkBAAgCAAApQQAIAoAAN0EACCUAgEAiAQAIaICQACNBAAhowJAAI0EACGyAgEAiAQAIbsCAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHAAkAAjQQAIcECAQCJBAAhwgIQAKAEACHDAkAAigQAIcQCQACKBAAhxgIAAKEExgIiyAIAAKIEyAIjyQIgAIwEACHKAiAAjAQAIQIAAAAVACAbAADEAgAgEpQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbICAQCIBAAhuwIBAIgEACG8AgEAiQQAIb0CAQCJBAAhvgIQAKAEACG_AhAAoAQAIcACQACNBAAhwQIBAIkEACHCAhAAoAQAIcMCQACKBAAhxAJAAIoEACHGAgAAoQTGAiLIAgAAogTIAiPJAiAAjAQAIcoCIACMBAAhAgAAAAsAIBsAAMYCACACAAAACwAgGwAAxgIAIAMAAAAVACAiAAC_AgAgIwAAxAIAIAEAAAAVACABAAAACwAgEA4AANMFACAoAADWBQAgKQAA1QUAID0AANQFACA-AADXBQAgvAIAAIIEACC9AgAAggQAIL4CAACCBAAgvwIAAIIEACDBAgAAggQAIMICAACCBAAgwwIAAIIEACDEAgAAggQAIMgCAACCBAAgyQIAAIIEACDKAgAAggQAIBWRAgAAxAMAMJICAADNAgAQkwIAAMQDADCUAgEAmQMAIaICQACfAwAhowJAAJ8DACGyAgEAmQMAIbsCAQCZAwAhvAIBAJoDACG9AgEAmgMAIb4CEADFAwAhvwIQAMUDACHAAkAAnwMAIcECAQCaAwAhwgIQAMUDACHDAkAAnAMAIcQCQACcAwAhxgIAAMYDxgIiyAIAAMcDyAIjyQIgAJ4DACHKAiAAngMAIQMAAAALACABAADMAgAwJwAAzQIAIAMAAAALACABAAAUADACAAAVACAGkQIAAMIDADCSAgAA0wIAEJMCAADCAwAwowJAALYDACGzAgEAAAABtAIAAMMDACABAAAA0AIAIAEAAADQAgAgBpECAADCAwAwkgIAANMCABCTAgAAwgMAMKMCQAC2AwAhswIBALIDACG0AgAAwwMAIAADAAAA0wIAIAEAANQCADACAADQAgAgAwAAANMCACABAADUAgAwAgAA0AIAIAMAAADTAgAgAQAA1AIAMAIAANACACADowJAAAAAAbMCAQAAAAG0AoAAAAABARsAANgCACADowJAAAAAAbMCAQAAAAG0AoAAAAABARsAANoCADABGwAA2gIAMAOjAkAAjQQAIbMCAQCIBAAhtAKAAAAAAQIAAADQAgAgGwAA3QIAIAOjAkAAjQQAIbMCAQCIBAAhtAKAAAAAAQIAAADTAgAgGwAA3wIAIAIAAADTAgAgGwAA3wIAIAMAAADQAgAgIgAA2AIAICMAAN0CACABAAAA0AIAIAEAAADTAgAgAw4AANAFACAoAADSBQAgKQAA0QUAIAaRAgAAvwMAMJICAADmAgAQkwIAAL8DADCjAkAAnwMAIbMCAQCbAwAhtAIAAMADACADAAAA0wIAIAEAAOUCADAnAADmAgAgAwAAANMCACABAADUAgAwAgAA0AIAIAEAAAAZACABAAAAGQAgAwAAABcAIAEAABgAMAIAABkAIAMAAAAXACABAAAYADACAAAZACADAAAAFwAgAQAAGAAwAgAAGQAgBQgAAM8FACCUAgEAAAABmAIBAAAAAZsCAQAAAAGyAgEAAAABARsAAO4CACAElAIBAAAAAZgCAQAAAAGbAgEAAAABsgIBAAAAAQEbAADwAgAwARsAAPACADAFCAAAzgUAIJQCAQCIBAAhmAIBAIgEACGbAgEAiQQAIbICAQCIBAAhAgAAABkAIBsAAPMCACAElAIBAIgEACGYAgEAiAQAIZsCAQCJBAAhsgIBAIgEACECAAAAFwAgGwAA9QIAIAIAAAAXACAbAAD1AgAgAwAAABkAICIAAO4CACAjAADzAgAgAQAAABkAIAEAAAAXACAEDgAAywUAICgAAM0FACApAADMBQAgmwIAAIIEACAHkQIAAL4DADCSAgAA_AIAEJMCAAC-AwAwlAIBAJkDACGYAgEAmwMAIZsCAQCaAwAhsgIBAJkDACEDAAAAFwAgAQAA-wIAMCcAAPwCACADAAAAFwAgAQAAGAAwAgAAGQAgGwMAALcDACAEAAC3AwAgCAAAugMAIAwAALwDACAPAAC4AwAgEAAAuAMAIBIAALkDACATAAC7AwAgkQIAAK8DADCSAgAAggMAEJMCAACvAwAwlAIBAAAAAZUCAQAAAAGWAgEAAAABlwIBALEDACGYAgEAsgMAIZkCAQCxAwAhmgIBALEDACGbAgEAsQMAIZwCQACzAwAhnQIBALEDACGeAgIAtAMAIZ8CAQCxAwAhoAIgALUDACGhAiAAtQMAIaICQAC2AwAhowJAALYDACEBAAAA_wIAIAEAAAD_AgAgGwMAALcDACAEAAC3AwAgCAAAugMAIAwAALwDACAPAAC4AwAgEAAAuAMAIBIAALkDACATAAC7AwAgkQIAAK8DADCSAgAAggMAEJMCAACvAwAwlAIBALADACGVAgEAsQMAIZYCAQCxAwAhlwIBALEDACGYAgEAsgMAIZkCAQCxAwAhmgIBALEDACGbAgEAsQMAIZwCQACzAwAhnQIBALEDACGeAgIAtAMAIZ8CAQCxAwAhoAIgALUDACGhAiAAtQMAIaICQAC2AwAhowJAALYDACETAwAAxQUAIAQAAMUFACAIAADIBQAgDAAAygUAIA8AAMYFACAQAADGBQAgEgAAxwUAIBMAAMkFACCVAgAAggQAIJYCAACCBAAglwIAAIIEACCZAgAAggQAIJoCAACCBAAgmwIAAIIEACCcAgAAggQAIJ0CAACCBAAgnwIAAIIEACCgAgAAggQAIKECAACCBAAgAwAAAIIDACABAACDAwAwAgAA_wIAIAMAAACCAwAgAQAAgwMAMAIAAP8CACADAAAAggMAIAEAAIMDADACAAD_AgAgGAMAAL0FACAEAAC-BQAgCAAAwgUAIAwAAMQFACAPAAC_BQAgEAAAwAUAIBIAAMEFACATAADDBQAglAIBAAAAAZUCAQAAAAGWAgEAAAABlwIBAAAAAZgCAQAAAAGZAgEAAAABmgIBAAAAAZsCAQAAAAGcAkAAAAABnQIBAAAAAZ4CAgAAAAGfAgEAAAABoAIgAAAAAaECIAAAAAGiAkAAAAABowJAAAAAAQEbAACHAwAgEJQCAQAAAAGVAgEAAAABlgIBAAAAAZcCAQAAAAGYAgEAAAABmQIBAAAAAZoCAQAAAAGbAgEAAAABnAJAAAAAAZ0CAQAAAAGeAgIAAAABnwIBAAAAAaACIAAAAAGhAiAAAAABogJAAAAAAaMCQAAAAAEBGwAAiQMAMAEbAACJAwAwGAMAAI4EACAEAACPBAAgCAAAkwQAIAwAAJUEACAPAACQBAAgEAAAkQQAIBIAAJIEACATAACUBAAglAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACECAAAA_wIAIBsAAIwDACAQlAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACECAAAAggMAIBsAAI4DACACAAAAggMAIBsAAI4DACADAAAA_wIAICIAAIcDACAjAACMAwAgAQAAAP8CACABAAAAggMAIBAOAACDBAAgKAAAhgQAICkAAIUEACA9AACEBAAgPgAAhwQAIJUCAACCBAAglgIAAIIEACCXAgAAggQAIJkCAACCBAAgmgIAAIIEACCbAgAAggQAIJwCAACCBAAgnQIAAIIEACCfAgAAggQAIKACAACCBAAgoQIAAIIEACATkQIAAJgDADCSAgAAlQMAEJMCAACYAwAwlAIBAJkDACGVAgEAmgMAIZYCAQCaAwAhlwIBAJoDACGYAgEAmwMAIZkCAQCaAwAhmgIBAJoDACGbAgEAmgMAIZwCQACcAwAhnQIBAJoDACGeAgIAnQMAIZ8CAQCaAwAhoAIgAJ4DACGhAiAAngMAIaICQACfAwAhowJAAJ8DACEDAAAAggMAIAEAAJQDADAnAACVAwAgAwAAAIIDACABAACDAwAwAgAA_wIAIBORAgAAmAMAMJICAACVAwAQkwIAAJgDADCUAgEAmQMAIZUCAQCaAwAhlgIBAJoDACGXAgEAmgMAIZgCAQCbAwAhmQIBAJoDACGaAgEAmgMAIZsCAQCaAwAhnAJAAJwDACGdAgEAmgMAIZ4CAgCdAwAhnwIBAJoDACGgAiAAngMAIaECIACeAwAhogJAAJ8DACGjAkAAnwMAIQsOAAChAwAgKAAAqwMAICkAAKsDACCkAgEAAAABpQIBAAAABKYCAQAAAASnAgEAAAABqAIBAAAAAakCAQAAAAGqAgEAAAABqwIBAK4DACEODgAApAMAICgAAK0DACApAACtAwAgpAIBAAAAAaUCAQAAAAWmAgEAAAAFpwIBAAAAAagCAQAAAAGpAgEAAAABqgIBAAAAAasCAQCsAwAhrAIBAAAAAa0CAQAAAAGuAgEAAAABDg4AAKEDACAoAACrAwAgKQAAqwMAIKQCAQAAAAGlAgEAAAAEpgIBAAAABKcCAQAAAAGoAgEAAAABqQIBAAAAAaoCAQAAAAGrAgEAqgMAIawCAQAAAAGtAgEAAAABrgIBAAAAAQsOAACkAwAgKAAAqQMAICkAAKkDACCkAkAAAAABpQJAAAAABaYCQAAAAAWnAkAAAAABqAJAAAAAAakCQAAAAAGqAkAAAAABqwJAAKgDACENDgAAoQMAICgAAKEDACApAAChAwAgPQAApwMAID4AAKEDACCkAgIAAAABpQICAAAABKYCAgAAAASnAgIAAAABqAICAAAAAakCAgAAAAGqAgIAAAABqwICAKYDACEFDgAApAMAICgAAKUDACApAAClAwAgpAIgAAAAAasCIACjAwAhCw4AAKEDACAoAACiAwAgKQAAogMAIKQCQAAAAAGlAkAAAAAEpgJAAAAABKcCQAAAAAGoAkAAAAABqQJAAAAAAaoCQAAAAAGrAkAAoAMAIQsOAAChAwAgKAAAogMAICkAAKIDACCkAkAAAAABpQJAAAAABKYCQAAAAASnAkAAAAABqAJAAAAAAakCQAAAAAGqAkAAAAABqwJAAKADACEIpAICAAAAAaUCAgAAAASmAgIAAAAEpwICAAAAAagCAgAAAAGpAgIAAAABqgICAAAAAasCAgChAwAhCKQCQAAAAAGlAkAAAAAEpgJAAAAABKcCQAAAAAGoAkAAAAABqQJAAAAAAaoCQAAAAAGrAkAAogMAIQUOAACkAwAgKAAApQMAICkAAKUDACCkAiAAAAABqwIgAKMDACEIpAICAAAAAaUCAgAAAAWmAgIAAAAFpwICAAAAAagCAgAAAAGpAgIAAAABqgICAAAAAasCAgCkAwAhAqQCIAAAAAGrAiAApQMAIQ0OAAChAwAgKAAAoQMAICkAAKEDACA9AACnAwAgPgAAoQMAIKQCAgAAAAGlAgIAAAAEpgICAAAABKcCAgAAAAGoAgIAAAABqQICAAAAAaoCAgAAAAGrAgIApgMAIQikAggAAAABpQIIAAAABKYCCAAAAASnAggAAAABqAIIAAAAAakCCAAAAAGqAggAAAABqwIIAKcDACELDgAApAMAICgAAKkDACApAACpAwAgpAJAAAAAAaUCQAAAAAWmAkAAAAAFpwJAAAAAAagCQAAAAAGpAkAAAAABqgJAAAAAAasCQACoAwAhCKQCQAAAAAGlAkAAAAAFpgJAAAAABacCQAAAAAGoAkAAAAABqQJAAAAAAaoCQAAAAAGrAkAAqQMAIQ4OAAChAwAgKAAAqwMAICkAAKsDACCkAgEAAAABpQIBAAAABKYCAQAAAASnAgEAAAABqAIBAAAAAakCAQAAAAGqAgEAAAABqwIBAKoDACGsAgEAAAABrQIBAAAAAa4CAQAAAAELpAIBAAAAAaUCAQAAAASmAgEAAAAEpwIBAAAAAagCAQAAAAGpAgEAAAABqgIBAAAAAasCAQCrAwAhrAIBAAAAAa0CAQAAAAGuAgEAAAABDg4AAKQDACAoAACtAwAgKQAArQMAIKQCAQAAAAGlAgEAAAAFpgIBAAAABacCAQAAAAGoAgEAAAABqQIBAAAAAaoCAQAAAAGrAgEArAMAIawCAQAAAAGtAgEAAAABrgIBAAAAAQukAgEAAAABpQIBAAAABaYCAQAAAAWnAgEAAAABqAIBAAAAAakCAQAAAAGqAgEAAAABqwIBAK0DACGsAgEAAAABrQIBAAAAAa4CAQAAAAELDgAAoQMAICgAAKsDACApAACrAwAgpAIBAAAAAaUCAQAAAASmAgEAAAAEpwIBAAAAAagCAQAAAAGpAgEAAAABqgIBAAAAAasCAQCuAwAhGwMAALcDACAEAAC3AwAgCAAAugMAIAwAALwDACAPAAC4AwAgEAAAuAMAIBIAALkDACATAAC7AwAgkQIAAK8DADCSAgAAggMAEJMCAACvAwAwlAIBALADACGVAgEAsQMAIZYCAQCxAwAhlwIBALEDACGYAgEAsgMAIZkCAQCxAwAhmgIBALEDACGbAgEAsQMAIZwCQACzAwAhnQIBALEDACGeAgIAtAMAIZ8CAQCxAwAhoAIgALUDACGhAiAAtQMAIaICQAC2AwAhowJAALYDACEIpAIBAAAAAaUCAQAAAASmAgEAAAAEpwIBAAAAAagCAQAAAAGpAgEAAAABqgIBAAAAAasCAQC9AwAhC6QCAQAAAAGlAgEAAAAFpgIBAAAABacCAQAAAAGoAgEAAAABqQIBAAAAAaoCAQAAAAGrAgEArQMAIawCAQAAAAGtAgEAAAABrgIBAAAAAQukAgEAAAABpQIBAAAABKYCAQAAAASnAgEAAAABqAIBAAAAAakCAQAAAAGqAgEAAAABqwIBAKsDACGsAgEAAAABrQIBAAAAAa4CAQAAAAEIpAJAAAAAAaUCQAAAAAWmAkAAAAAFpwJAAAAAAagCQAAAAAGpAkAAAAABqgJAAAAAAasCQACpAwAhCKQCAgAAAAGlAgIAAAAEpgICAAAABKcCAgAAAAGoAgIAAAABqQICAAAAAaoCAgAAAAGrAgIAoQMAIQKkAiAAAAABqwIgAKUDACEIpAJAAAAAAaUCQAAAAASmAkAAAAAEpwJAAAAAAagCQAAAAAGpAkAAAAABqgJAAAAAAasCQACiAwAhA68CAAADACCwAgAAAwAgsQIAAAMAIAOvAgAABwAgsAIAAAcAILECAAAHACADrwIAACAAILACAAAgACCxAgAAIAAgHAkAANwDACAKAADVAwAgCwAA3QMAIAwAALwDACANAADeAwAgkQIAANoDADCSAgAAJAAQkwIAANoDADCUAgEAsAMAIaICQAC2AwAhowJAALYDACG7AgEAsAMAIbwCAQCxAwAhvQIBALEDACG-AhAA2wMAIb8CEADbAwAhwgIQANsDACHVAgEAsQMAIdYCAQCxAwAh1wIBALEDACHYAgEAsQMAIdkCAQCxAwAh2gIBALEDACHbAgEAsQMAIdwCEADbAwAh3QIgALUDACHsAgAAJAAg7QIAACQAIAwKAADVAwAgkQIAANMDADCSAgAAJgAQkwIAANMDADCjAkAAtgMAIbsCAQCwAwAh0AICALQDACHRAhAA1AMAIdICAgC0AwAh0wIQANQDACHsAgAAJgAg7QIAACYAIAOvAgAACwAgsAIAAAsAILECAAALACAIpAIBAAAAAaUCAQAAAASmAgEAAAAEpwIBAAAAAagCAQAAAAGpAgEAAAABqgIBAAAAAasCAQC9AwAhB5ECAAC-AwAwkgIAAPwCABCTAgAAvgMAMJQCAQCZAwAhmAIBAJsDACGbAgEAmgMAIbICAQCZAwAhBpECAAC_AwAwkgIAAOYCABCTAgAAvwMAMKMCQACfAwAhswIBAJsDACG0AgAAwAMAIA8OAAChAwAgKAAAwQMAICkAAMEDACCkAoAAAAABpwKAAAAAAagCgAAAAAGpAoAAAAABqgKAAAAAAasCgAAAAAG1AgEAAAABtgIBAAAAAbcCAQAAAAG4AoAAAAABuQKAAAAAAboCgAAAAAEMpAKAAAAAAacCgAAAAAGoAoAAAAABqQKAAAAAAaoCgAAAAAGrAoAAAAABtQIBAAAAAbYCAQAAAAG3AgEAAAABuAKAAAAAAbkCgAAAAAG6AoAAAAABBpECAADCAwAwkgIAANMCABCTAgAAwgMAMKMCQAC2AwAhswIBALIDACG0AgAAwwMAIAykAoAAAAABpwKAAAAAAagCgAAAAAGpAoAAAAABqgKAAAAAAasCgAAAAAG1AgEAAAABtgIBAAAAAbcCAQAAAAG4AoAAAAABuQKAAAAAAboCgAAAAAEVkQIAAMQDADCSAgAAzQIAEJMCAADEAwAwlAIBAJkDACGiAkAAnwMAIaMCQACfAwAhsgIBAJkDACG7AgEAmQMAIbwCAQCaAwAhvQIBAJoDACG-AhAAxQMAIb8CEADFAwAhwAJAAJ8DACHBAgEAmgMAIcICEADFAwAhwwJAAJwDACHEAkAAnAMAIcYCAADGA8YCIsgCAADHA8gCI8kCIACeAwAhygIgAJ4DACENDgAApAMAICgAAM0DACApAADNAwAgPQAAzQMAID4AAM0DACCkAhAAAAABpQIQAAAABaYCEAAAAAWnAhAAAAABqAIQAAAAAakCEAAAAAGqAhAAAAABqwIQAMwDACEHDgAAoQMAICgAAMsDACApAADLAwAgpAIAAADGAgKlAgAAAMYCCKYCAAAAxgIIqwIAAMoDxgIiBw4AAKQDACAoAADJAwAgKQAAyQMAIKQCAAAAyAIDpQIAAADIAgmmAgAAAMgCCasCAADIA8gCIwcOAACkAwAgKAAAyQMAICkAAMkDACCkAgAAAMgCA6UCAAAAyAIJpgIAAADIAgmrAgAAyAPIAiMEpAIAAADIAgOlAgAAAMgCCaYCAAAAyAIJqwIAAMkDyAIjBw4AAKEDACAoAADLAwAgKQAAywMAIKQCAAAAxgICpQIAAADGAgimAgAAAMYCCKsCAADKA8YCIgSkAgAAAMYCAqUCAAAAxgIIpgIAAADGAgirAgAAywPGAiINDgAApAMAICgAAM0DACApAADNAwAgPQAAzQMAID4AAM0DACCkAhAAAAABpQIQAAAABaYCEAAAAAWnAhAAAAABqAIQAAAAAakCEAAAAAGqAhAAAAABqwIQAMwDACEIpAIQAAAAAaUCEAAAAAWmAhAAAAAFpwIQAAAAAagCEAAAAAGpAhAAAAABqgIQAAAAAasCEADNAwAhDJECAADOAwAwkgIAALcCABCTAgAAzgMAMJQCAQCZAwAhsgIBAJkDACHDAkAAnAMAIcQCQACcAwAhywICAJ0DACHMAiAAngMAIc0CIACeAwAhzgJAAJwDACHPAkAAnAMAIQmRAgAAzwMAMJICAAChAgAQkwIAAM8DADCjAkAAnwMAIbsCAQCZAwAh0AICAJ0DACHRAhAA0AMAIdICAgCdAwAh0wIQANADACENDgAAoQMAICgAANIDACApAADSAwAgPQAA0gMAID4AANIDACCkAhAAAAABpQIQAAAABKYCEAAAAASnAhAAAAABqAIQAAAAAakCEAAAAAGqAhAAAAABqwIQANEDACENDgAAoQMAICgAANIDACApAADSAwAgPQAA0gMAID4AANIDACCkAhAAAAABpQIQAAAABKYCEAAAAASnAhAAAAABqAIQAAAAAakCEAAAAAGqAhAAAAABqwIQANEDACEIpAIQAAAAAaUCEAAAAASmAhAAAAAEpwIQAAAAAagCEAAAAAGpAhAAAAABqgIQAAAAAasCEADSAwAhCgoAANUDACCRAgAA0wMAMJICAAAmABCTAgAA0wMAMKMCQAC2AwAhuwIBALADACHQAgIAtAMAIdECEADUAwAh0gICALQDACHTAhAA1AMAIQikAhAAAAABpQIQAAAABKYCEAAAAASnAhAAAAABqAIQAAAAAakCEAAAAAGqAhAAAAABqwIQANIDACEdAwAAtwMAIAQAALcDACAIAAC6AwAgDAAAvAMAIA8AALgDACAQAAC4AwAgEgAAuQMAIBMAALsDACCRAgAArwMAMJICAACCAwAQkwIAAK8DADCUAgEAsAMAIZUCAQCxAwAhlgIBALEDACGXAgEAsQMAIZgCAQCyAwAhmQIBALEDACGaAgEAsQMAIZsCAQCxAwAhnAJAALMDACGdAgEAsQMAIZ4CAgC0AwAhnwIBALEDACGgAiAAtQMAIaECIAC1AwAhogJAALYDACGjAkAAtgMAIewCAACCAwAg7QIAAIIDACAGkQIAANYDADCSAgAAiQIAEJMCAADWAwAwlAIBAJkDACGYAgEAmwMAIdQCAQCZAwAhBZECAADXAwAwkgIAAPMBABCTAgAA1wMAMJQCAQCZAwAhmAIBAJsDACEFkQIAANgDADCSAgAA4AEAEJMCAADYAwAwlAIBALADACGYAgEAsgMAIRWRAgAA2QMAMJICAADaAQAQkwIAANkDADCUAgEAmQMAIaICQACfAwAhowJAAJ8DACG7AgEAmQMAIbwCAQCaAwAhvQIBAJoDACG-AhAAxQMAIb8CEADFAwAhwgIQAMUDACHVAgEAmgMAIdYCAQCaAwAh1wIBAJoDACHYAgEAmgMAIdkCAQCaAwAh2gIBAJoDACHbAgEAmgMAIdwCEADFAwAh3QIgAJ4DACEaCQAA3AMAIAoAANUDACALAADdAwAgDAAAvAMAIA0AAN4DACCRAgAA2gMAMJICAAAkABCTAgAA2gMAMJQCAQCwAwAhogJAALYDACGjAkAAtgMAIbsCAQCwAwAhvAIBALEDACG9AgEAsQMAIb4CEADbAwAhvwIQANsDACHCAhAA2wMAIdUCAQCxAwAh1gIBALEDACHXAgEAsQMAIdgCAQCxAwAh2QIBALEDACHaAgEAsQMAIdsCAQCxAwAh3AIQANsDACHdAiAAtQMAIQikAhAAAAABpQIQAAAABaYCEAAAAAWnAhAAAAABqAIQAAAAAakCEAAAAAGqAhAAAAABqwIQAM0DACELCAAA4QMAIJECAADgAwAwkgIAAA4AEJMCAADgAwAwlAIBALADACGyAgEAsAMAId4CIAC1AwAh3wIgALUDACHgAiAAtQMAIewCAAAOACDtAgAADgAgA68CAAAQACCwAgAAEAAgsQIAABAAIAOvAgAAFwAgsAIAABcAILECAAAXACAIkQIAAN8DADCSAgAAwgEAEJMCAADfAwAwlAIBAJkDACGyAgEAmQMAId4CIACeAwAh3wIgAJ4DACHgAiAAngMAIQkIAADhAwAgkQIAAOADADCSAgAADgAQkwIAAOADADCUAgEAsAMAIbICAQCwAwAh3gIgALUDACHfAiAAtQMAIeACIAC1AwAhHAkAANwDACAKAADVAwAgCwAA3QMAIAwAALwDACANAADeAwAgkQIAANoDADCSAgAAJAAQkwIAANoDADCUAgEAsAMAIaICQAC2AwAhowJAALYDACG7AgEAsAMAIbwCAQCxAwAhvQIBALEDACG-AhAA2wMAIb8CEADbAwAhwgIQANsDACHVAgEAsQMAIdYCAQCxAwAh1wIBALEDACHYAgEAsQMAIdkCAQCxAwAh2gIBALEDACHbAgEAsQMAIdwCEADbAwAh3QIgALUDACHsAgAAJAAg7QIAACQAIAiRAgAA4gMAMJICAACqAQAQkwIAAOIDADCUAgEAmQMAIaICQACfAwAh4QIBAJkDACHiAgEAmQMAIeMCAQCbAwAhBZECAADjAwAwkgIAAJQBABCTAgAA4wMAMJQCAQCZAwAhmAIBAJsDACEGLQAA5QMAIJECAADkAwAwkgIAAIEBABCTAgAA5AMAMJQCAQCwAwAhmAIBALIDACEDrwIAAEsAILACAABLACCxAgAASwAgC5ECAADmAwAwkgIAAHsAEJMCAADmAwAwlAIBAJkDACGiAkAAnwMAIeMCAQCaAwAh5AIBAJkDACHlAgEAmQMAIeYCAQDnAwAh5wICAJ0DACHoAiAA6AMAIQsOAACkAwAgKAAArQMAICkAAK0DACCkAgEAAAABpQIBAAAABaYCAQAAAAWnAgEAAAABqAIBAAAAAakCAQAAAAGqAgEAAAABqwIBAOsDACEFDgAAoQMAICgAAOoDACApAADqAwAgpAIgAAAAAasCIADpAwAhBQ4AAKEDACAoAADqAwAgKQAA6gMAIKQCIAAAAAGrAiAA6QMAIQKkAiAAAAABqwIgAOoDACELDgAApAMAICgAAK0DACApAACtAwAgpAIBAAAAAaUCAQAAAAWmAgEAAAAFpwIBAAAAAagCAQAAAAGpAgEAAAABqgIBAAAAAasCAQDrAwAhCJECAADsAwAwkgIAAGMAEJMCAADsAwAwlAIBAJkDACGYAgEAmwMAIb4CEADFAwAhvwIQAMUDACHpAgEAmQMAIQgsAADuAwAgLgAA7wMAIJECAADtAwAwkgIAAEsAEJMCAADtAwAwlAIBALADACGYAgEAsgMAIdQCAQCwAwAhA68CAABIACCwAgAASAAgsQIAAEgAIAgtAADlAwAgkQIAAOQDADCSAgAAgQEAEJMCAADkAwAwlAIBALADACGYAgEAsgMAIewCAACBAQAg7QIAAIEBACAJLQAA8QMAIJECAADwAwAwkgIAAEgAEJMCAADwAwAwlAIBALADACGYAgEAsgMAIb4CEADbAwAhvwIQANsDACHpAgEAsAMAIQosAADuAwAgLgAA7wMAIJECAADtAwAwkgIAAEsAEJMCAADtAwAwlAIBALADACGYAgEAsgMAIdQCAQCwAwAh7AIAAEsAIO0CAABLACAHkQIAAPIDADCSAgAAQwAQkwIAAPIDADCUAgEAmQMAIaICQACfAwAhsgIBAJkDACG7AgEAmQMAIQoKAADVAwAgEQAA9AMAIJECAADzAwAwkgIAACAAEJMCAADzAwAwlAIBALADACGiAkAAtgMAIeECAQCwAwAh4gIBALADACHjAgEAsgMAIQwSAAC5AwAgFAAA1QMAIBUAANUDACCRAgAAgAQAMJICAAADABCTAgAAgAQAMJQCAQCwAwAhogJAALYDACGyAgEAsAMAIbsCAQCwAwAh7AIAAAMAIO0CAAADACAICAAA4QMAIJECAAD1AwAwkgIAABcAEJMCAAD1AwAwlAIBALADACGYAgEAsgMAIZsCAQCxAwAhsgIBALADACEYBwAAuAMAIAgAAOEDACAKAADVAwAgkQIAAPYDADCSAgAACwAQkwIAAPYDADCUAgEAsAMAIaICQAC2AwAhowJAALYDACGyAgEAsAMAIbsCAQCwAwAhvAIBALEDACG9AgEAsQMAIb4CEADbAwAhvwIQANsDACHAAkAAtgMAIcECAQCxAwAhwgIQANsDACHDAkAAswMAIcQCQACzAwAhxgIAAPcDxgIiyAIAAPgDyAIjyQIgALUDACHKAiAAtQMAIQSkAgAAAMYCAqUCAAAAxgIIpgIAAADGAgirAgAAywPGAiIEpAIAAADIAgOlAgAAAMgCCaYCAAAAyAIJqwIAAMkDyAIjArICAQAAAAHLAgIAAAABDQgAAOEDACCRAgAA-gMAMJICAAAQABCTAgAA-gMAMJQCAQCwAwAhsgIBALADACHDAkAAswMAIcQCQACzAwAhywICALQDACHMAiAAtQMAIc0CIAC1AwAhzgJAALMDACHPAkAAswMAIQ4FAADVAwAgBgAA1QMAIAwAAP4DACCRAgAA-wMAMJICAAAHABCTAgAA-wMAMJQCAQCwAwAhogJAALYDACHjAgEAsQMAIeQCAQCwAwAh5QIBALADACHmAgEA_AMAIecCAgC0AwAh6AIgAP0DACEIpAIBAAAAAaUCAQAAAAWmAgEAAAAFpwIBAAAAAagCAQAAAAGpAgEAAAABqgIBAAAAAasCAQD_AwAhAqQCIAAAAAGrAiAA6gMAIRoHAAC4AwAgCAAA4QMAIAoAANUDACCRAgAA9gMAMJICAAALABCTAgAA9gMAMJQCAQCwAwAhogJAALYDACGjAkAAtgMAIbICAQCwAwAhuwIBALADACG8AgEAsQMAIb0CAQCxAwAhvgIQANsDACG_AhAA2wMAIcACQAC2AwAhwQIBALEDACHCAhAA2wMAIcMCQACzAwAhxAJAALMDACHGAgAA9wPGAiLIAgAA-APIAiPJAiAAtQMAIcoCIAC1AwAh7AIAAAsAIO0CAAALACAIpAIBAAAAAaUCAQAAAAWmAgEAAAAFpwIBAAAAAagCAQAAAAGpAgEAAAABqgIBAAAAAasCAQD_AwAhChIAALkDACAUAADVAwAgFQAA1QMAIJECAACABAAwkgIAAAMAEJMCAACABAAwlAIBALADACGiAkAAtgMAIbICAQCwAwAhuwIBALADACECsgIBAAAAAbsCAQAAAAEAAAAAAAAB8QIBAAAAAQHxAgEAAAABAfECQAAAAAEF8QICAAAAAfcCAgAAAAH4AgIAAAAB-QICAAAAAfoCAgAAAAEB8QIgAAAAAQHxAkAAAAABCyIAALIFADAjAAC2BQAw7gIAALMFADDvAgAAtAUAMPACAAC1BQAg8QIAAJsFADDyAgAAmwUAMPMCAACbBQAw9AIAAJsFADD1AgAAtwUAMPYCAACeBQAwCyIAAJcFADAjAACcBQAw7gIAAJgFADDvAgAAmQUAMPACAACaBQAg8QIAAJsFADDyAgAAmwUAMPMCAACbBQAw9AIAAJsFADD1AgAAnQUAMPYCAACeBQAwCyIAAI4FADAjAACSBQAw7gIAAI8FADDvAgAAkAUAMPACAACRBQAg8QIAAKoEADDyAgAAqgQAMPMCAACqBAAw9AIAAKoEADD1AgAAkwUAMPYCAACtBAAwCyIAAIMFADAjAACHBQAw7gIAAIQFADDvAgAAhQUAMPACAACGBQAg8QIAAKoEADDyAgAAqgQAMPMCAACqBAAw9AIAAKoEADD1AgAAiAUAMPYCAACtBAAwCyIAAPUEADAjAAD6BAAw7gIAAPYEADDvAgAA9wQAMPACAAD4BAAg8QIAAPkEADDyAgAA-QQAMPMCAAD5BAAw9AIAAPkEADD1AgAA-wQAMPYCAAD8BAAwByIAAMAEACAjAADDBAAg7gIAAMEEACDvAgAAwgQAIPICAAAkACDzAgAAJAAg9AIAAMUBACAHIgAAugQAICMAAL0EACDuAgAAuwQAIO8CAAC8BAAg8gIAACYAIPMCAAAmACD0AgAAjAIAIAsiAACWBAAwIwAAmwQAMO4CAACXBAAw7wIAAJgEADDwAgAAmQQAIPECAACaBAAw8gIAAJoEADDzAgAAmgQAMPQCAACaBAAw9QIAAJwEADD2AgAAnQQAMBMHAAC4BAAgCAAAuQQAIJQCAQAAAAGiAkAAAAABowJAAAAAAbICAQAAAAG8AgEAAAABvQIBAAAAAb4CEAAAAAG_AhAAAAABwAJAAAAAAcECAQAAAAHCAhAAAAABwwJAAAAAAcQCQAAAAAHGAgAAAMYCAsgCAAAAyAIDyQIgAAAAAcoCIAAAAAECAAAAFQAgIgAAtwQAIAMAAAAVACAiAAC3BAAgIwAAowQAIAEbAACRBwAwGAcAALgDACAIAADhAwAgCgAA1QMAIJECAAD2AwAwkgIAAAsAEJMCAAD2AwAwlAIBAAAAAaICQAC2AwAhowJAALYDACGyAgEAsAMAIbsCAQCwAwAhvAIBALEDACG9AgEAsQMAIb4CEADbAwAhvwIQANsDACHAAkAAtgMAIcECAQCxAwAhwgIQANsDACHDAkAAswMAIcQCQACzAwAhxgIAAPcDxgIiyAIAAPgDyAIjyQIgALUDACHKAiAAtQMAIQIAAAAVACAbAACjBAAgAgAAAJ4EACAbAACfBAAgFZECAACdBAAwkgIAAJ4EABCTAgAAnQQAMJQCAQCwAwAhogJAALYDACGjAkAAtgMAIbICAQCwAwAhuwIBALADACG8AgEAsQMAIb0CAQCxAwAhvgIQANsDACG_AhAA2wMAIcACQAC2AwAhwQIBALEDACHCAhAA2wMAIcMCQACzAwAhxAJAALMDACHGAgAA9wPGAiLIAgAA-APIAiPJAiAAtQMAIcoCIAC1AwAhFZECAACdBAAwkgIAAJ4EABCTAgAAnQQAMJQCAQCwAwAhogJAALYDACGjAkAAtgMAIbICAQCwAwAhuwIBALADACG8AgEAsQMAIb0CAQCxAwAhvgIQANsDACG_AhAA2wMAIcACQAC2AwAhwQIBALEDACHCAhAA2wMAIcMCQACzAwAhxAJAALMDACHGAgAA9wPGAiLIAgAA-APIAiPJAiAAtQMAIcoCIAC1AwAhEZQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbICAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHAAkAAjQQAIcECAQCJBAAhwgIQAKAEACHDAkAAigQAIcQCQACKBAAhxgIAAKEExgIiyAIAAKIEyAIjyQIgAIwEACHKAiAAjAQAIQXxAhAAAAAB9wIQAAAAAfgCEAAAAAH5AhAAAAAB-gIQAAAAAQHxAgAAAMYCAgHxAgAAAMgCAxMHAACkBAAgCAAApQQAIJQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbICAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHAAkAAjQQAIcECAQCJBAAhwgIQAKAEACHDAkAAigQAIcQCQACKBAAhxgIAAKEExgIiyAIAAKIEyAIjyQIgAIwEACHKAiAAjAQAIQsiAACmBAAwIwAAqwQAMO4CAACnBAAw7wIAAKgEADDwAgAAqQQAIPECAACqBAAw8gIAAKoEADDzAgAAqgQAMPQCAACqBAAw9QIAAKwEADD2AgAArQQAMAUiAACBBwAgIwAAjwcAIO4CAACCBwAg7wIAAI4HACD0AgAAxQEAIAkFAAC1BAAgBgAAtgQAIJQCAQAAAAGiAkAAAAAB4wIBAAAAAeQCAQAAAAHlAgEAAAAB5wICAAAAAegCIAAAAAECAAAACQAgIgAAtAQAIAMAAAAJACAiAAC0BAAgIwAAsQQAIAEbAACNBwAwDgUAANUDACAGAADVAwAgDAAA_gMAIJECAAD7AwAwkgIAAAcAEJMCAAD7AwAwlAIBAAAAAaICQAC2AwAh4wIBALEDACHkAgEAsAMAIeUCAQCwAwAh5gIBAPwDACHnAgIAtAMAIegCIAD9AwAhAgAAAAkAIBsAALEEACACAAAArgQAIBsAAK8EACALkQIAAK0EADCSAgAArgQAEJMCAACtBAAwlAIBALADACGiAkAAtgMAIeMCAQCxAwAh5AIBALADACHlAgEAsAMAIeYCAQD8AwAh5wICALQDACHoAiAA_QMAIQuRAgAArQQAMJICAACuBAAQkwIAAK0EADCUAgEAsAMAIaICQAC2AwAh4wIBALEDACHkAgEAsAMAIeUCAQCwAwAh5gIBAPwDACHnAgIAtAMAIegCIAD9AwAhB5QCAQCIBAAhogJAAI0EACHjAgEAiQQAIeQCAQCIBAAh5QIBAIgEACHnAgIAiwQAIegCIACwBAAhAfECIAAAAAEJBQAAsgQAIAYAALMEACCUAgEAiAQAIaICQACNBAAh4wIBAIkEACHkAgEAiAQAIeUCAQCIBAAh5wICAIsEACHoAiAAsAQAIQUiAACFBwAgIwAAiwcAIO4CAACGBwAg7wIAAIoHACD0AgAA_wIAIAUiAACDBwAgIwAAiAcAIO4CAACEBwAg7wIAAIcHACD0AgAA_wIAIAkFAAC1BAAgBgAAtgQAIJQCAQAAAAGiAkAAAAAB4wIBAAAAAeQCAQAAAAHlAgEAAAAB5wICAAAAAegCIAAAAAEDIgAAhQcAIO4CAACGBwAg9AIAAP8CACADIgAAgwcAIO4CAACEBwAg9AIAAP8CACATBwAAuAQAIAgAALkEACCUAgEAAAABogJAAAAAAaMCQAAAAAGyAgEAAAABvAIBAAAAAb0CAQAAAAG-AhAAAAABvwIQAAAAAcACQAAAAAHBAgEAAAABwgIQAAAAAcMCQAAAAAHEAkAAAAABxgIAAADGAgLIAgAAAMgCA8kCIAAAAAHKAiAAAAABBCIAAKYEADDuAgAApwQAMPACAACpBAAg9AIAAKoEADADIgAAgQcAIO4CAACCBwAg9AIAAMUBACAFowJAAAAAAdACAgAAAAHRAhAAAAAB0gICAAAAAdMCEAAAAAECAAAAjAIAICIAALoEACADAAAAJgAgIgAAugQAICMAAL4EACAHAAAAJgAgGwAAvgQAIKMCQACNBAAh0AICAIsEACHRAhAAvwQAIdICAgCLBAAh0wIQAL8EACEFowJAAI0EACHQAgIAiwQAIdECEAC_BAAh0gICAIsEACHTAhAAvwQAIQXxAhAAAAAB9wIQAAAAAfgCEAAAAAH5AhAAAAAB-gIQAAAAARUJAADxBAAgCwAA8gQAIAwAAPMEACANAAD0BAAglAIBAAAAAaICQAAAAAGjAkAAAAABvAIBAAAAAb0CAQAAAAG-AhAAAAABvwIQAAAAAcICEAAAAAHVAgEAAAAB1gIBAAAAAdcCAQAAAAHYAgEAAAAB2QIBAAAAAdoCAQAAAAHbAgEAAAAB3AIQAAAAAd0CIAAAAAECAAAAxQEAICIAAMAEACADAAAAJAAgIgAAwAQAICMAAMQEACAXAAAAJAAgCQAAxQQAIAsAAMYEACAMAADHBAAgDQAAyAQAIBsAAMQEACCUAgEAiAQAIaICQACNBAAhowJAAI0EACG8AgEAiQQAIb0CAQCJBAAhvgIQAKAEACG_AhAAoAQAIcICEACgBAAh1QIBAIkEACHWAgEAiQQAIdcCAQCJBAAh2AIBAIkEACHZAgEAiQQAIdoCAQCJBAAh2wIBAIkEACHcAhAAoAQAId0CIACMBAAhFQkAAMUEACALAADGBAAgDAAAxwQAIA0AAMgEACCUAgEAiAQAIaICQACNBAAhowJAAI0EACG8AgEAiQQAIb0CAQCJBAAhvgIQAKAEACG_AhAAoAQAIcICEACgBAAh1QIBAIkEACHWAgEAiQQAIdcCAQCJBAAh2AIBAIkEACHZAgEAiQQAIdoCAQCJBAAh2wIBAIkEACHcAhAAoAQAId0CIACMBAAhByIAAOwEACAjAADvBAAg7gIAAO0EACDvAgAA7gQAIPICAAAOACDzAgAADgAg9AIAAK0BACALIgAA4AQAMCMAAOUEADDuAgAA4QQAMO8CAADiBAAw8AIAAOMEACDxAgAA5AQAMPICAADkBAAw8wIAAOQEADD0AgAA5AQAMPUCAADmBAAw9gIAAOcEADALIgAA1QQAMCMAANkEADDuAgAA1gQAMO8CAADXBAAw8AIAANgEACDxAgAAmgQAMPICAACaBAAw8wIAAJoEADD0AgAAmgQAMPUCAADaBAAw9gIAAJ0EADALIgAAyQQAMCMAAM4EADDuAgAAygQAMO8CAADLBAAw8AIAAMwEACDxAgAAzQQAMPICAADNBAAw8wIAAM0EADD0AgAAzQQAMPUCAADPBAAw9gIAANAEADADlAIBAAAAAZgCAQAAAAGbAgEAAAABAgAAABkAICIAANQEACADAAAAGQAgIgAA1AQAICMAANMEACABGwAAgAcAMAgIAADhAwAgkQIAAPUDADCSAgAAFwAQkwIAAPUDADCUAgEAAAABmAIBALIDACGbAgEAsQMAIbICAQCwAwAhAgAAABkAIBsAANMEACACAAAA0QQAIBsAANIEACAHkQIAANAEADCSAgAA0QQAEJMCAADQBAAwlAIBALADACGYAgEAsgMAIZsCAQCxAwAhsgIBALADACEHkQIAANAEADCSAgAA0QQAEJMCAADQBAAwlAIBALADACGYAgEAsgMAIZsCAQCxAwAhsgIBALADACEDlAIBAIgEACGYAgEAiAQAIZsCAQCJBAAhA5QCAQCIBAAhmAIBAIgEACGbAgEAiQQAIQOUAgEAAAABmAIBAAAAAZsCAQAAAAETBwAAuAQAIAoAAN8EACCUAgEAAAABogJAAAAAAaMCQAAAAAG7AgEAAAABvAIBAAAAAb0CAQAAAAG-AhAAAAABvwIQAAAAAcACQAAAAAHBAgEAAAABwgIQAAAAAcMCQAAAAAHEAkAAAAABxgIAAADGAgLIAgAAAMgCA8kCIAAAAAHKAiAAAAABAgAAABUAICIAAN4EACADAAAAFQAgIgAA3gQAICMAANwEACABGwAA_wYAMAIAAAAVACAbAADcBAAgAgAAAJ4EACAbAADbBAAgEZQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbsCAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHAAkAAjQQAIcECAQCJBAAhwgIQAKAEACHDAkAAigQAIcQCQACKBAAhxgIAAKEExgIiyAIAAKIEyAIjyQIgAIwEACHKAiAAjAQAIRMHAACkBAAgCgAA3QQAIJQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbsCAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHAAkAAjQQAIcECAQCJBAAhwgIQAKAEACHDAkAAigQAIcQCQACKBAAhxgIAAKEExgIiyAIAAKIEyAIjyQIgAIwEACHKAiAAjAQAIQUiAAD6BgAgIwAA_QYAIO4CAAD7BgAg7wIAAPwGACD0AgAA_wIAIBMHAAC4BAAgCgAA3wQAIJQCAQAAAAGiAkAAAAABowJAAAAAAbsCAQAAAAG8AgEAAAABvQIBAAAAAb4CEAAAAAG_AhAAAAABwAJAAAAAAcECAQAAAAHCAhAAAAABwwJAAAAAAcQCQAAAAAHGAgAAAMYCAsgCAAAAyAIDyQIgAAAAAcoCIAAAAAEDIgAA-gYAIO4CAAD7BgAg9AIAAP8CACAIlAIBAAAAAcMCQAAAAAHEAkAAAAABywICAAAAAcwCIAAAAAHNAiAAAAABzgJAAAAAAc8CQAAAAAECAAAAEgAgIgAA6wQAIAMAAAASACAiAADrBAAgIwAA6gQAIAEbAAD5BgAwDggAAOEDACCRAgAA-gMAMJICAAAQABCTAgAA-gMAMJQCAQAAAAGyAgEAsAMAIcMCQACzAwAhxAJAALMDACHLAgIAtAMAIcwCIAC1AwAhzQIgALUDACHOAkAAswMAIc8CQACzAwAh6gIAAPkDACACAAAAEgAgGwAA6gQAIAIAAADoBAAgGwAA6QQAIAyRAgAA5wQAMJICAADoBAAQkwIAAOcEADCUAgEAsAMAIbICAQCwAwAhwwJAALMDACHEAkAAswMAIcsCAgC0AwAhzAIgALUDACHNAiAAtQMAIc4CQACzAwAhzwJAALMDACEMkQIAAOcEADCSAgAA6AQAEJMCAADnBAAwlAIBALADACGyAgEAsAMAIcMCQACzAwAhxAJAALMDACHLAgIAtAMAIcwCIAC1AwAhzQIgALUDACHOAkAAswMAIc8CQACzAwAhCJQCAQCIBAAhwwJAAIoEACHEAkAAigQAIcsCAgCLBAAhzAIgAIwEACHNAiAAjAQAIc4CQACKBAAhzwJAAIoEACEIlAIBAIgEACHDAkAAigQAIcQCQACKBAAhywICAIsEACHMAiAAjAQAIc0CIACMBAAhzgJAAIoEACHPAkAAigQAIQiUAgEAAAABwwJAAAAAAcQCQAAAAAHLAgIAAAABzAIgAAAAAc0CIAAAAAHOAkAAAAABzwJAAAAAAQSUAgEAAAAB3gIgAAAAAd8CIAAAAAHgAiAAAAABAgAAAK0BACAiAADsBAAgAwAAAA4AICIAAOwEACAjAADwBAAgBgAAAA4AIBsAAPAEACCUAgEAiAQAId4CIACMBAAh3wIgAIwEACHgAiAAjAQAIQSUAgEAiAQAId4CIACMBAAh3wIgAIwEACHgAiAAjAQAIQMiAADsBAAg7gIAAO0EACD0AgAArQEAIAQiAADgBAAw7gIAAOEEADDwAgAA4wQAIPQCAADkBAAwBCIAANUEADDuAgAA1gQAMPACAADYBAAg9AIAAJoEADAEIgAAyQQAMO4CAADKBAAw8AIAAMwEACD0AgAAzQQAMAURAACCBQAglAIBAAAAAaICQAAAAAHhAgEAAAAB4wIBAAAAAQIAAAAiACAiAACBBQAgAwAAACIAICIAAIEFACAjAAD_BAAgARsAAPgGADAKCgAA1QMAIBEAAPQDACCRAgAA8wMAMJICAAAgABCTAgAA8wMAMJQCAQAAAAGiAkAAtgMAIeECAQCwAwAh4gIBALADACHjAgEAsgMAIQIAAAAiACAbAAD_BAAgAgAAAP0EACAbAAD-BAAgCJECAAD8BAAwkgIAAP0EABCTAgAA_AQAMJQCAQCwAwAhogJAALYDACHhAgEAsAMAIeICAQCwAwAh4wIBALIDACEIkQIAAPwEADCSAgAA_QQAEJMCAAD8BAAwlAIBALADACGiAkAAtgMAIeECAQCwAwAh4gIBALADACHjAgEAsgMAIQSUAgEAiAQAIaICQACNBAAh4QIBAIgEACHjAgEAiAQAIQURAACABQAglAIBAIgEACGiAkAAjQQAIeECAQCIBAAh4wIBAIgEACEFIgAA8wYAICMAAPYGACDuAgAA9AYAIO8CAAD1BgAg9AIAAAEAIAURAACCBQAglAIBAAAAAaICQAAAAAHhAgEAAAAB4wIBAAAAAQMiAADzBgAg7gIAAPQGACD0AgAAAQAgCQUAALUEACAMAACNBQAglAIBAAAAAaICQAAAAAHjAgEAAAAB5AIBAAAAAeYCAQAAAAHnAgIAAAAB6AIgAAAAAQIAAAAJACAiAACMBQAgAwAAAAkAICIAAIwFACAjAACKBQAgARsAAPIGADACAAAACQAgGwAAigUAIAIAAACuBAAgGwAAiQUAIAeUAgEAiAQAIaICQACNBAAh4wIBAIkEACHkAgEAiAQAIeYCAQCJBAAh5wICAIsEACHoAiAAsAQAIQkFAACyBAAgDAAAiwUAIJQCAQCIBAAhogJAAI0EACHjAgEAiQQAIeQCAQCIBAAh5gIBAIkEACHnAgIAiwQAIegCIACwBAAhByIAAO0GACAjAADwBgAg7gIAAO4GACDvAgAA7wYAIPICAAALACDzAgAACwAg9AIAABUAIAkFAAC1BAAgDAAAjQUAIJQCAQAAAAGiAkAAAAAB4wIBAAAAAeQCAQAAAAHmAgEAAAAB5wICAAAAAegCIAAAAAEDIgAA7QYAIO4CAADuBgAg9AIAABUAIAkGAAC2BAAgDAAAjQUAIJQCAQAAAAGiAkAAAAAB4wIBAAAAAeUCAQAAAAHmAgEAAAAB5wICAAAAAegCIAAAAAECAAAACQAgIgAAlgUAIAMAAAAJACAiAACWBQAgIwAAlQUAIAEbAADsBgAwAgAAAAkAIBsAAJUFACACAAAArgQAIBsAAJQFACAHlAIBAIgEACGiAkAAjQQAIeMCAQCJBAAh5QIBAIgEACHmAgEAiQQAIecCAgCLBAAh6AIgALAEACEJBgAAswQAIAwAAIsFACCUAgEAiAQAIaICQACNBAAh4wIBAIkEACHlAgEAiAQAIeYCAQCJBAAh5wICAIsEACHoAiAAsAQAIQkGAAC2BAAgDAAAjQUAIJQCAQAAAAGiAkAAAAAB4wIBAAAAAeUCAQAAAAHmAgEAAAAB5wICAAAAAegCIAAAAAEFEgAAsQUAIBQAALAFACCUAgEAAAABogJAAAAAAbICAQAAAAECAAAAAQAgIgAArwUAIAMAAAABACAiAACvBQAgIwAAoQUAIAEbAADrBgAwCxIAALkDACAUAADVAwAgFQAA1QMAIJECAACABAAwkgIAAAMAEJMCAACABAAwlAIBAAAAAaICQAC2AwAhsgIBALADACG7AgEAsAMAIesCAACBBAAgAgAAAAEAIBsAAKEFACACAAAAnwUAIBsAAKAFACAHkQIAAJ4FADCSAgAAnwUAEJMCAACeBQAwlAIBALADACGiAkAAtgMAIbICAQCwAwAhuwIBALADACEHkQIAAJ4FADCSAgAAnwUAEJMCAACeBQAwlAIBALADACGiAkAAtgMAIbICAQCwAwAhuwIBALADACEDlAIBAIgEACGiAkAAjQQAIbICAQCIBAAhBRIAAKMFACAUAACiBQAglAIBAIgEACGiAkAAjQQAIbICAQCIBAAhBSIAAOAGACAjAADpBgAg7gIAAOEGACDvAgAA6AYAIPQCAAD_AgAgCyIAAKQFADAjAACoBQAw7gIAAKUFADDvAgAApgUAMPACAACnBQAg8QIAAPkEADDyAgAA-QQAMPMCAAD5BAAw9AIAAPkEADD1AgAAqQUAMPYCAAD8BAAwBQoAAK4FACCUAgEAAAABogJAAAAAAeICAQAAAAHjAgEAAAABAgAAACIAICIAAK0FACADAAAAIgAgIgAArQUAICMAAKsFACABGwAA5wYAMAIAAAAiACAbAACrBQAgAgAAAP0EACAbAACqBQAgBJQCAQCIBAAhogJAAI0EACHiAgEAiAQAIeMCAQCIBAAhBQoAAKwFACCUAgEAiAQAIaICQACNBAAh4gIBAIgEACHjAgEAiAQAIQUiAADiBgAgIwAA5QYAIO4CAADjBgAg7wIAAOQGACD0AgAA_wIAIAUKAACuBQAglAIBAAAAAaICQAAAAAHiAgEAAAAB4wIBAAAAAQMiAADiBgAg7gIAAOMGACD0AgAA_wIAIAUSAACxBQAgFAAAsAUAIJQCAQAAAAGiAkAAAAABsgIBAAAAAQMiAADgBgAg7gIAAOEGACD0AgAA_wIAIAQiAACkBQAw7gIAAKUFADDwAgAApwUAIPQCAAD5BAAwBRIAALEFACAVAAC8BQAglAIBAAAAAaICQAAAAAG7AgEAAAABAgAAAAEAICIAALsFACADAAAAAQAgIgAAuwUAICMAALkFACABGwAA3wYAMAIAAAABACAbAAC5BQAgAgAAAJ8FACAbAAC4BQAgA5QCAQCIBAAhogJAAI0EACG7AgEAiAQAIQUSAACjBQAgFQAAugUAIJQCAQCIBAAhogJAAI0EACG7AgEAiAQAIQUiAADaBgAgIwAA3QYAIO4CAADbBgAg7wIAANwGACD0AgAA_wIAIAUSAACxBQAgFQAAvAUAIJQCAQAAAAGiAkAAAAABuwIBAAAAAQMiAADaBgAg7gIAANsGACD0AgAA_wIAIAQiAACyBQAw7gIAALMFADDwAgAAtQUAIPQCAACbBQAwBCIAAJcFADDuAgAAmAUAMPACAACaBQAg9AIAAJsFADAEIgAAjgUAMO4CAACPBQAw8AIAAJEFACD0AgAAqgQAMAQiAACDBQAw7gIAAIQFADDwAgAAhgUAIPQCAACqBAAwBCIAAPUEADDuAgAA9gQAMPACAAD4BAAg9AIAAPkEADADIgAAwAQAIO4CAADBBAAg9AIAAMUBACADIgAAugQAIO4CAAC7BAAg9AIAAIwCACAEIgAAlgQAMO4CAACXBAAw8AIAAJkEACD0AgAAmgQAMAAAABMJAACEBgAgCgAA5gUAIAsAAIUGACAMAADKBQAgDQAAhgYAILwCAACCBAAgvQIAAIIEACC-AgAAggQAIL8CAACCBAAgwgIAAIIEACDVAgAAggQAINYCAACCBAAg1wIAAIIEACDYAgAAggQAINkCAACCBAAg2gIAAIIEACDbAgAAggQAINwCAACCBAAg3QIAAIIEACABCgAA5gUAIAAAAAAFIgAA1QYAICMAANgGACDuAgAA1gYAIO8CAADXBgAg9AIAAMUBACADIgAA1QYAIO4CAADWBgAg9AIAAMUBACAAAAAAAAAAAAAAAAAABSIAANAGACAjAADTBgAg7gIAANEGACDvAgAA0gYAIPQCAADFAQAgAyIAANAGACDuAgAA0QYAIPQCAADFAQAgAAAAAAAFIgAAywYAICMAAM4GACDuAgAAzAYAIO8CAADNBgAg9AIAAP8CACADIgAAywYAIO4CAADMBgAg9AIAAP8CACATAwAAxQUAIAQAAMUFACAIAADIBQAgDAAAygUAIA8AAMYFACAQAADGBQAgEgAAxwUAIBMAAMkFACCVAgAAggQAIJYCAACCBAAglwIAAIIEACCZAgAAggQAIJoCAACCBAAgmwIAAIIEACCcAgAAggQAIJ0CAACCBAAgnwIAAIIEACCgAgAAggQAIKECAACCBAAgAAAACyIAAOwFADAjAADxBQAw7gIAAO0FADDvAgAA7gUAMPACAADvBQAg8QIAAPAFADDyAgAA8AUAMPMCAADwBQAw9AIAAPAFADD1AgAA8gUAMPYCAADzBQAwBSIAAMUGACAjAADJBgAg7gIAAMYGACDvAgAAyAYAIPQCAAB-ACAElAIBAAAAAZgCAQAAAAG-AhAAAAABvwIQAAAAAQIAAABGACAiAAD3BQAgAwAAAEYAICIAAPcFACAjAAD2BQAgARsAAMcGADAJLQAA8QMAIJECAADwAwAwkgIAAEgAEJMCAADwAwAwlAIBAAAAAZgCAQCyAwAhvgIQANsDACG_AhAA2wMAIekCAQCwAwAhAgAAAEYAIBsAAPYFACACAAAA9AUAIBsAAPUFACAIkQIAAPMFADCSAgAA9AUAEJMCAADzBQAwlAIBALADACGYAgEAsgMAIb4CEADbAwAhvwIQANsDACHpAgEAsAMAIQiRAgAA8wUAMJICAAD0BQAQkwIAAPMFADCUAgEAsAMAIZgCAQCyAwAhvgIQANsDACG_AhAA2wMAIekCAQCwAwAhBJQCAQCIBAAhmAIBAIgEACG-AhAAoAQAIb8CEACgBAAhBJQCAQCIBAAhmAIBAIgEACG-AhAAoAQAIb8CEACgBAAhBJQCAQAAAAGYAgEAAAABvgIQAAAAAb8CEAAAAAEEIgAA7AUAMO4CAADtBQAw8AIAAO8FACD0AgAA8AUAMAMiAADFBgAg7gIAAMYGACD0AgAAfgAgAAAAAAAAAAAFIgAAwAYAICMAAMMGACDuAgAAwQYAIO8CAADCBgAg9AIAAP8CACADIgAAwAYAIO4CAADBBgAg9AIAAP8CACAECAAAyAUAIN4CAACCBAAg3wIAAIIEACDgAgAAggQAIAAAAAAABSIAALsGACAjAAC-BgAg7gIAALwGACDvAgAAvQYAIPQCAADFAQAgAyIAALsGACDuAgAAvAYAIPQCAADFAQAgAAAAAAAACyIAAJMGADAjAACYBgAw7gIAAJQGADDvAgAAlQYAMPACAACWBgAg8QIAAJcGADDyAgAAlwYAMPMCAACXBgAw9AIAAJcGADD1AgAAmQYAMPYCAACaBgAwAywAAPgFACCUAgEAAAABmAIBAAAAAQIAAABNACAiAACeBgAgAwAAAE0AICIAAJ4GACAjAACdBgAgARsAALoGADAILAAA7gMAIC4AAO8DACCRAgAA7QMAMJICAABLABCTAgAA7QMAMJQCAQAAAAGYAgEAsgMAIdQCAQCwAwAhAgAAAE0AIBsAAJ0GACACAAAAmwYAIBsAAJwGACAGkQIAAJoGADCSAgAAmwYAEJMCAACaBgAwlAIBALADACGYAgEAsgMAIdQCAQCwAwAhBpECAACaBgAwkgIAAJsGABCTAgAAmgYAMJQCAQCwAwAhmAIBALIDACHUAgEAsAMAIQKUAgEAiAQAIZgCAQCIBAAhAywAAOoFACCUAgEAiAQAIZgCAQCIBAAhAywAAPgFACCUAgEAAAABmAIBAAAAAQQiAACTBgAw7gIAAJQGADDwAgAAlgYAIPQCAACXBgAwAAAAAAAAAAAAAAAFIgAAtQYAICMAALgGACDuAgAAtgYAIO8CAAC3BgAg9AIAAE0AIAMiAAC1BgAg7gIAALYGACD0AgAATQAgAAEtAACgBgAgAiwAAK0GACAuAACuBgAgAAAAAxIAAMcFACAUAADmBQAgFQAA5gUAIA4HAADGBQAgCAAAyAUAIAoAAOYFACC8AgAAggQAIL0CAACCBAAgvgIAAIIEACC_AgAAggQAIMECAACCBAAgwgIAAIIEACDDAgAAggQAIMQCAACCBAAgyAIAAIIEACDJAgAAggQAIMoCAACCBAAgBC4AAPkFACCUAgEAAAABmAIBAAAAAdQCAQAAAAECAAAATQAgIgAAtQYAIAMAAABLACAiAAC1BgAgIwAAuQYAIAYAAABLACAbAAC5BgAgLgAA6wUAIJQCAQCIBAAhmAIBAIgEACHUAgEAiAQAIQQuAADrBQAglAIBAIgEACGYAgEAiAQAIdQCAQCIBAAhApQCAQAAAAGYAgEAAAABFgoAAIMGACALAADyBAAgDAAA8wQAIA0AAPQEACCUAgEAAAABogJAAAAAAaMCQAAAAAG7AgEAAAABvAIBAAAAAb0CAQAAAAG-AhAAAAABvwIQAAAAAcICEAAAAAHVAgEAAAAB1gIBAAAAAdcCAQAAAAHYAgEAAAAB2QIBAAAAAdoCAQAAAAHbAgEAAAAB3AIQAAAAAd0CIAAAAAECAAAAxQEAICIAALsGACADAAAAJAAgIgAAuwYAICMAAL8GACAYAAAAJAAgCgAAggYAIAsAAMYEACAMAADHBAAgDQAAyAQAIBsAAL8GACCUAgEAiAQAIaICQACNBAAhowJAAI0EACG7AgEAiAQAIbwCAQCJBAAhvQIBAIkEACG-AhAAoAQAIb8CEACgBAAhwgIQAKAEACHVAgEAiQQAIdYCAQCJBAAh1wIBAIkEACHYAgEAiQQAIdkCAQCJBAAh2gIBAIkEACHbAgEAiQQAIdwCEACgBAAh3QIgAIwEACEWCgAAggYAIAsAAMYEACAMAADHBAAgDQAAyAQAIJQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbsCAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHCAhAAoAQAIdUCAQCJBAAh1gIBAIkEACHXAgEAiQQAIdgCAQCJBAAh2QIBAIkEACHaAgEAiQQAIdsCAQCJBAAh3AIQAKAEACHdAiAAjAQAIRcDAAC9BQAgBAAAvgUAIAwAAMQFACAPAAC_BQAgEAAAwAUAIBIAAMEFACATAADDBQAglAIBAAAAAZUCAQAAAAGWAgEAAAABlwIBAAAAAZgCAQAAAAGZAgEAAAABmgIBAAAAAZsCAQAAAAGcAkAAAAABnQIBAAAAAZ4CAgAAAAGfAgEAAAABoAIgAAAAAaECIAAAAAGiAkAAAAABowJAAAAAAQIAAAD_AgAgIgAAwAYAIAMAAACCAwAgIgAAwAYAICMAAMQGACAZAAAAggMAIAMAAI4EACAEAACPBAAgDAAAlQQAIA8AAJAEACAQAACRBAAgEgAAkgQAIBMAAJQEACAbAADEBgAglAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACEXAwAAjgQAIAQAAI8EACAMAACVBAAgDwAAkAQAIBAAAJEEACASAACSBAAgEwAAlAQAIJQCAQCIBAAhlQIBAIkEACGWAgEAiQQAIZcCAQCJBAAhmAIBAIgEACGZAgEAiQQAIZoCAQCJBAAhmwIBAIkEACGcAkAAigQAIZ0CAQCJBAAhngICAIsEACGfAgEAiQQAIaACIACMBAAhoQIgAIwEACGiAkAAjQQAIaMCQACNBAAhApQCAQAAAAGYAgEAAAABAgAAAH4AICIAAMUGACAElAIBAAAAAZgCAQAAAAG-AhAAAAABvwIQAAAAAQMAAACBAQAgIgAAxQYAICMAAMoGACAEAAAAgQEAIBsAAMoGACCUAgEAiAQAIZgCAQCIBAAhApQCAQCIBAAhmAIBAIgEACEXAwAAvQUAIAQAAL4FACAIAADCBQAgDAAAxAUAIA8AAL8FACAQAADABQAgEgAAwQUAIJQCAQAAAAGVAgEAAAABlgIBAAAAAZcCAQAAAAGYAgEAAAABmQIBAAAAAZoCAQAAAAGbAgEAAAABnAJAAAAAAZ0CAQAAAAGeAgIAAAABnwIBAAAAAaACIAAAAAGhAiAAAAABogJAAAAAAaMCQAAAAAECAAAA_wIAICIAAMsGACADAAAAggMAICIAAMsGACAjAADPBgAgGQAAAIIDACADAACOBAAgBAAAjwQAIAgAAJMEACAMAACVBAAgDwAAkAQAIBAAAJEEACASAACSBAAgGwAAzwYAIJQCAQCIBAAhlQIBAIkEACGWAgEAiQQAIZcCAQCJBAAhmAIBAIgEACGZAgEAiQQAIZoCAQCJBAAhmwIBAIkEACGcAkAAigQAIZ0CAQCJBAAhngICAIsEACGfAgEAiQQAIaACIACMBAAhoQIgAIwEACGiAkAAjQQAIaMCQACNBAAhFwMAAI4EACAEAACPBAAgCAAAkwQAIAwAAJUEACAPAACQBAAgEAAAkQQAIBIAAJIEACCUAgEAiAQAIZUCAQCJBAAhlgIBAIkEACGXAgEAiQQAIZgCAQCIBAAhmQIBAIkEACGaAgEAiQQAIZsCAQCJBAAhnAJAAIoEACGdAgEAiQQAIZ4CAgCLBAAhnwIBAIkEACGgAiAAjAQAIaECIACMBAAhogJAAI0EACGjAkAAjQQAIRYJAADxBAAgCgAAgwYAIAwAAPMEACANAAD0BAAglAIBAAAAAaICQAAAAAGjAkAAAAABuwIBAAAAAbwCAQAAAAG9AgEAAAABvgIQAAAAAb8CEAAAAAHCAhAAAAAB1QIBAAAAAdYCAQAAAAHXAgEAAAAB2AIBAAAAAdkCAQAAAAHaAgEAAAAB2wIBAAAAAdwCEAAAAAHdAiAAAAABAgAAAMUBACAiAADQBgAgAwAAACQAICIAANAGACAjAADUBgAgGAAAACQAIAkAAMUEACAKAACCBgAgDAAAxwQAIA0AAMgEACAbAADUBgAglAIBAIgEACGiAkAAjQQAIaMCQACNBAAhuwIBAIgEACG8AgEAiQQAIb0CAQCJBAAhvgIQAKAEACG_AhAAoAQAIcICEACgBAAh1QIBAIkEACHWAgEAiQQAIdcCAQCJBAAh2AIBAIkEACHZAgEAiQQAIdoCAQCJBAAh2wIBAIkEACHcAhAAoAQAId0CIACMBAAhFgkAAMUEACAKAACCBgAgDAAAxwQAIA0AAMgEACCUAgEAiAQAIaICQACNBAAhowJAAI0EACG7AgEAiAQAIbwCAQCJBAAhvQIBAIkEACG-AhAAoAQAIb8CEACgBAAhwgIQAKAEACHVAgEAiQQAIdYCAQCJBAAh1wIBAIkEACHYAgEAiQQAIdkCAQCJBAAh2gIBAIkEACHbAgEAiQQAIdwCEACgBAAh3QIgAIwEACEWCQAA8QQAIAoAAIMGACALAADyBAAgDAAA8wQAIJQCAQAAAAGiAkAAAAABowJAAAAAAbsCAQAAAAG8AgEAAAABvQIBAAAAAb4CEAAAAAG_AhAAAAABwgIQAAAAAdUCAQAAAAHWAgEAAAAB1wIBAAAAAdgCAQAAAAHZAgEAAAAB2gIBAAAAAdsCAQAAAAHcAhAAAAAB3QIgAAAAAQIAAADFAQAgIgAA1QYAIAMAAAAkACAiAADVBgAgIwAA2QYAIBgAAAAkACAJAADFBAAgCgAAggYAIAsAAMYEACAMAADHBAAgGwAA2QYAIJQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbsCAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHCAhAAoAQAIdUCAQCJBAAh1gIBAIkEACHXAgEAiQQAIdgCAQCJBAAh2QIBAIkEACHaAgEAiQQAIdsCAQCJBAAh3AIQAKAEACHdAiAAjAQAIRYJAADFBAAgCgAAggYAIAsAAMYEACAMAADHBAAglAIBAIgEACGiAkAAjQQAIaMCQACNBAAhuwIBAIgEACG8AgEAiQQAIb0CAQCJBAAhvgIQAKAEACG_AhAAoAQAIcICEACgBAAh1QIBAIkEACHWAgEAiQQAIdcCAQCJBAAh2AIBAIkEACHZAgEAiQQAIdoCAQCJBAAh2wIBAIkEACHcAhAAoAQAId0CIACMBAAhFwMAAL0FACAIAADCBQAgDAAAxAUAIA8AAL8FACAQAADABQAgEgAAwQUAIBMAAMMFACCUAgEAAAABlQIBAAAAAZYCAQAAAAGXAgEAAAABmAIBAAAAAZkCAQAAAAGaAgEAAAABmwIBAAAAAZwCQAAAAAGdAgEAAAABngICAAAAAZ8CAQAAAAGgAiAAAAABoQIgAAAAAaICQAAAAAGjAkAAAAABAgAAAP8CACAiAADaBgAgAwAAAIIDACAiAADaBgAgIwAA3gYAIBkAAACCAwAgAwAAjgQAIAgAAJMEACAMAACVBAAgDwAAkAQAIBAAAJEEACASAACSBAAgEwAAlAQAIBsAAN4GACCUAgEAiAQAIZUCAQCJBAAhlgIBAIkEACGXAgEAiQQAIZgCAQCIBAAhmQIBAIkEACGaAgEAiQQAIZsCAQCJBAAhnAJAAIoEACGdAgEAiQQAIZ4CAgCLBAAhnwIBAIkEACGgAiAAjAQAIaECIACMBAAhogJAAI0EACGjAkAAjQQAIRcDAACOBAAgCAAAkwQAIAwAAJUEACAPAACQBAAgEAAAkQQAIBIAAJIEACATAACUBAAglAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACEDlAIBAAAAAaICQAAAAAG7AgEAAAABFwQAAL4FACAIAADCBQAgDAAAxAUAIA8AAL8FACAQAADABQAgEgAAwQUAIBMAAMMFACCUAgEAAAABlQIBAAAAAZYCAQAAAAGXAgEAAAABmAIBAAAAAZkCAQAAAAGaAgEAAAABmwIBAAAAAZwCQAAAAAGdAgEAAAABngICAAAAAZ8CAQAAAAGgAiAAAAABoQIgAAAAAaICQAAAAAGjAkAAAAABAgAAAP8CACAiAADgBgAgFwMAAL0FACAEAAC-BQAgCAAAwgUAIAwAAMQFACAPAAC_BQAgEAAAwAUAIBMAAMMFACCUAgEAAAABlQIBAAAAAZYCAQAAAAGXAgEAAAABmAIBAAAAAZkCAQAAAAGaAgEAAAABmwIBAAAAAZwCQAAAAAGdAgEAAAABngICAAAAAZ8CAQAAAAGgAiAAAAABoQIgAAAAAaICQAAAAAGjAkAAAAABAgAAAP8CACAiAADiBgAgAwAAAIIDACAiAADiBgAgIwAA5gYAIBkAAACCAwAgAwAAjgQAIAQAAI8EACAIAACTBAAgDAAAlQQAIA8AAJAEACAQAACRBAAgEwAAlAQAIBsAAOYGACCUAgEAiAQAIZUCAQCJBAAhlgIBAIkEACGXAgEAiQQAIZgCAQCIBAAhmQIBAIkEACGaAgEAiQQAIZsCAQCJBAAhnAJAAIoEACGdAgEAiQQAIZ4CAgCLBAAhnwIBAIkEACGgAiAAjAQAIaECIACMBAAhogJAAI0EACGjAkAAjQQAIRcDAACOBAAgBAAAjwQAIAgAAJMEACAMAACVBAAgDwAAkAQAIBAAAJEEACATAACUBAAglAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACEElAIBAAAAAaICQAAAAAHiAgEAAAAB4wIBAAAAAQMAAACCAwAgIgAA4AYAICMAAOoGACAZAAAAggMAIAQAAI8EACAIAACTBAAgDAAAlQQAIA8AAJAEACAQAACRBAAgEgAAkgQAIBMAAJQEACAbAADqBgAglAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACEXBAAAjwQAIAgAAJMEACAMAACVBAAgDwAAkAQAIBAAAJEEACASAACSBAAgEwAAlAQAIJQCAQCIBAAhlQIBAIkEACGWAgEAiQQAIZcCAQCJBAAhmAIBAIgEACGZAgEAiQQAIZoCAQCJBAAhmwIBAIkEACGcAkAAigQAIZ0CAQCJBAAhngICAIsEACGfAgEAiQQAIaACIACMBAAhoQIgAIwEACGiAkAAjQQAIaMCQACNBAAhA5QCAQAAAAGiAkAAAAABsgIBAAAAAQeUAgEAAAABogJAAAAAAeMCAQAAAAHlAgEAAAAB5gIBAAAAAecCAgAAAAHoAiAAAAABFAgAALkEACAKAADfBAAglAIBAAAAAaICQAAAAAGjAkAAAAABsgIBAAAAAbsCAQAAAAG8AgEAAAABvQIBAAAAAb4CEAAAAAG_AhAAAAABwAJAAAAAAcECAQAAAAHCAhAAAAABwwJAAAAAAcQCQAAAAAHGAgAAAMYCAsgCAAAAyAIDyQIgAAAAAcoCIAAAAAECAAAAFQAgIgAA7QYAIAMAAAALACAiAADtBgAgIwAA8QYAIBYAAAALACAIAAClBAAgCgAA3QQAIBsAAPEGACCUAgEAiAQAIaICQACNBAAhowJAAI0EACGyAgEAiAQAIbsCAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHAAkAAjQQAIcECAQCJBAAhwgIQAKAEACHDAkAAigQAIcQCQACKBAAhxgIAAKEExgIiyAIAAKIEyAIjyQIgAIwEACHKAiAAjAQAIRQIAAClBAAgCgAA3QQAIJQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbICAQCIBAAhuwIBAIgEACG8AgEAiQQAIb0CAQCJBAAhvgIQAKAEACG_AhAAoAQAIcACQACNBAAhwQIBAIkEACHCAhAAoAQAIcMCQACKBAAhxAJAAIoEACHGAgAAoQTGAiLIAgAAogTIAiPJAiAAjAQAIcoCIACMBAAhB5QCAQAAAAGiAkAAAAAB4wIBAAAAAeQCAQAAAAHmAgEAAAAB5wICAAAAAegCIAAAAAEGFAAAsAUAIBUAALwFACCUAgEAAAABogJAAAAAAbICAQAAAAG7AgEAAAABAgAAAAEAICIAAPMGACADAAAAAwAgIgAA8wYAICMAAPcGACAIAAAAAwAgFAAAogUAIBUAALoFACAbAAD3BgAglAIBAIgEACGiAkAAjQQAIbICAQCIBAAhuwIBAIgEACEGFAAAogUAIBUAALoFACCUAgEAiAQAIaICQACNBAAhsgIBAIgEACG7AgEAiAQAIQSUAgEAAAABogJAAAAAAeECAQAAAAHjAgEAAAABCJQCAQAAAAHDAkAAAAABxAJAAAAAAcsCAgAAAAHMAiAAAAABzQIgAAAAAc4CQAAAAAHPAkAAAAABFwMAAL0FACAEAAC-BQAgCAAAwgUAIA8AAL8FACAQAADABQAgEgAAwQUAIBMAAMMFACCUAgEAAAABlQIBAAAAAZYCAQAAAAGXAgEAAAABmAIBAAAAAZkCAQAAAAGaAgEAAAABmwIBAAAAAZwCQAAAAAGdAgEAAAABngICAAAAAZ8CAQAAAAGgAiAAAAABoQIgAAAAAaICQAAAAAGjAkAAAAABAgAAAP8CACAiAAD6BgAgAwAAAIIDACAiAAD6BgAgIwAA_gYAIBkAAACCAwAgAwAAjgQAIAQAAI8EACAIAACTBAAgDwAAkAQAIBAAAJEEACASAACSBAAgEwAAlAQAIBsAAP4GACCUAgEAiAQAIZUCAQCJBAAhlgIBAIkEACGXAgEAiQQAIZgCAQCIBAAhmQIBAIkEACGaAgEAiQQAIZsCAQCJBAAhnAJAAIoEACGdAgEAiQQAIZ4CAgCLBAAhnwIBAIkEACGgAiAAjAQAIaECIACMBAAhogJAAI0EACGjAkAAjQQAIRcDAACOBAAgBAAAjwQAIAgAAJMEACAPAACQBAAgEAAAkQQAIBIAAJIEACATAACUBAAglAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACERlAIBAAAAAaICQAAAAAGjAkAAAAABuwIBAAAAAbwCAQAAAAG9AgEAAAABvgIQAAAAAb8CEAAAAAHAAkAAAAABwQIBAAAAAcICEAAAAAHDAkAAAAABxAJAAAAAAcYCAAAAxgICyAIAAADIAgPJAiAAAAABygIgAAAAAQOUAgEAAAABmAIBAAAAAZsCAQAAAAEWCQAA8QQAIAoAAIMGACALAADyBAAgDQAA9AQAIJQCAQAAAAGiAkAAAAABowJAAAAAAbsCAQAAAAG8AgEAAAABvQIBAAAAAb4CEAAAAAG_AhAAAAABwgIQAAAAAdUCAQAAAAHWAgEAAAAB1wIBAAAAAdgCAQAAAAHZAgEAAAAB2gIBAAAAAdsCAQAAAAHcAhAAAAAB3QIgAAAAAQIAAADFAQAgIgAAgQcAIBcDAAC9BQAgBAAAvgUAIAgAAMIFACAMAADEBQAgDwAAvwUAIBIAAMEFACATAADDBQAglAIBAAAAAZUCAQAAAAGWAgEAAAABlwIBAAAAAZgCAQAAAAGZAgEAAAABmgIBAAAAAZsCAQAAAAGcAkAAAAABnQIBAAAAAZ4CAgAAAAGfAgEAAAABoAIgAAAAAaECIAAAAAGiAkAAAAABowJAAAAAAQIAAAD_AgAgIgAAgwcAIBcDAAC9BQAgBAAAvgUAIAgAAMIFACAMAADEBQAgEAAAwAUAIBIAAMEFACATAADDBQAglAIBAAAAAZUCAQAAAAGWAgEAAAABlwIBAAAAAZgCAQAAAAGZAgEAAAABmgIBAAAAAZsCAQAAAAGcAkAAAAABnQIBAAAAAZ4CAgAAAAGfAgEAAAABoAIgAAAAAaECIAAAAAGiAkAAAAABowJAAAAAAQIAAAD_AgAgIgAAhQcAIAMAAACCAwAgIgAAgwcAICMAAIkHACAZAAAAggMAIAMAAI4EACAEAACPBAAgCAAAkwQAIAwAAJUEACAPAACQBAAgEgAAkgQAIBMAAJQEACAbAACJBwAglAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACEXAwAAjgQAIAQAAI8EACAIAACTBAAgDAAAlQQAIA8AAJAEACASAACSBAAgEwAAlAQAIJQCAQCIBAAhlQIBAIkEACGWAgEAiQQAIZcCAQCJBAAhmAIBAIgEACGZAgEAiQQAIZoCAQCJBAAhmwIBAIkEACGcAkAAigQAIZ0CAQCJBAAhngICAIsEACGfAgEAiQQAIaACIACMBAAhoQIgAIwEACGiAkAAjQQAIaMCQACNBAAhAwAAAIIDACAiAACFBwAgIwAAjAcAIBkAAACCAwAgAwAAjgQAIAQAAI8EACAIAACTBAAgDAAAlQQAIBAAAJEEACASAACSBAAgEwAAlAQAIBsAAIwHACCUAgEAiAQAIZUCAQCJBAAhlgIBAIkEACGXAgEAiQQAIZgCAQCIBAAhmQIBAIkEACGaAgEAiQQAIZsCAQCJBAAhnAJAAIoEACGdAgEAiQQAIZ4CAgCLBAAhnwIBAIkEACGgAiAAjAQAIaECIACMBAAhogJAAI0EACGjAkAAjQQAIRcDAACOBAAgBAAAjwQAIAgAAJMEACAMAACVBAAgEAAAkQQAIBIAAJIEACATAACUBAAglAIBAIgEACGVAgEAiQQAIZYCAQCJBAAhlwIBAIkEACGYAgEAiAQAIZkCAQCJBAAhmgIBAIkEACGbAgEAiQQAIZwCQACKBAAhnQIBAIkEACGeAgIAiwQAIZ8CAQCJBAAhoAIgAIwEACGhAiAAjAQAIaICQACNBAAhowJAAI0EACEHlAIBAAAAAaICQAAAAAHjAgEAAAAB5AIBAAAAAeUCAQAAAAHnAgIAAAAB6AIgAAAAAQMAAAAkACAiAACBBwAgIwAAkAcAIBgAAAAkACAJAADFBAAgCgAAggYAIAsAAMYEACANAADIBAAgGwAAkAcAIJQCAQCIBAAhogJAAI0EACGjAkAAjQQAIbsCAQCIBAAhvAIBAIkEACG9AgEAiQQAIb4CEACgBAAhvwIQAKAEACHCAhAAoAQAIdUCAQCJBAAh1gIBAIkEACHXAgEAiQQAIdgCAQCJBAAh2QIBAIkEACHaAgEAiQQAIdsCAQCJBAAh3AIQAKAEACHdAiAAjAQAIRYJAADFBAAgCgAAggYAIAsAAMYEACANAADIBAAglAIBAIgEACGiAkAAjQQAIaMCQACNBAAhuwIBAIgEACG8AgEAiQQAIb0CAQCJBAAhvgIQAKAEACG_AhAAoAQAIcICEACgBAAh1QIBAIkEACHWAgEAiQQAIdcCAQCJBAAh2AIBAIkEACHZAgEAiQQAIdoCAQCJBAAh2wIBAIkEACHcAhAAoAQAId0CIACMBAAhEZQCAQAAAAGiAkAAAAABowJAAAAAAbICAQAAAAG8AgEAAAABvQIBAAAAAb4CEAAAAAG_AhAAAAABwAJAAAAAAcECAQAAAAHCAhAAAAABwwJAAAAAAcQCQAAAAAHGAgAAAMYCAsgCAAAAyAIDyQIgAAAAAcoCIAAAAAEEDgAOEi8LFAACFQACCQMFAQQGAQglBQwoBA4ADQ8KAxAfAxIjCxMnDAMFAAIGAAIMDAQEBw0DCAAFCgACDgAKBgkPBgoAAgsTBwwWBA0aCA4ACQEIAAUBCAAFAQgABQMLGwAMHAANHQABBx4AAgoAAhEAAQEKAAIGAykABCoADC4ADysAECwAEi0AARIwAAACFAACFQACAhQAAhUAAgMOABMoABQpABUAAAADDgATKAAUKQAVAS0AGAMOABssShcuABkCDgAaLU4YAS1PAAEsUAABLQAYAS0AGAUOAB8oACIpACM9ACA-ACEAAAAAAAUOAB8oACIpACM9ACA-ACEDBQACBgACDHAEAwUAAgYAAgx2BAUOACgoACspACw9ACk-ACoAAAAAAAUOACgoACspACw9ACk-ACoAAAMOADEoADIpADMAAAADDgAxKAAyKQAzAgoAAhEAAQIKAAIRAAEDDgA4KAA5KQA6AAAAAw4AOCgAOSkAOgEIAAUBCAAFAw4APygAQCkAQQAAAAMOAD8oAEApAEEBCgACAQoAAgUOAEYoAEkpAEo9AEc-AEgAAAAAAAUOAEYoAEkpAEo9AEc-AEgAAAADDgBQKABRKQBSAAAAAw4AUCgAUSkAUgEuABkBLgAZAw4AVygAWCkAWQAAAAMOAFcoAFgpAFkBCgACAQoAAgUOAF4oAGEpAGI9AF8-AGAAAAAAAAUOAF4oAGEpAGI9AF8-AGABCAAFAQgABQUOAGcoAGopAGs9AGg-AGkAAAAAAAUOAGcoAGopAGs9AGg-AGkCCAAFCgACAggABQoAAgUOAHAoAHMpAHQ9AHE-AHIAAAAAAAUOAHAoAHMpAHQ9AHE-AHIAAAADDgB6KAB7KQB8AAAAAw4AeigAeykAfAEIAAUBCAAFAw4AgQEoAIIBKQCDAQAAAAMOAIEBKACCASkAgwEAAAUOAIgBKACLASkAjAE9AIkBPgCKAQAAAAAABQ4AiAEoAIsBKQCMAT0AiQE-AIoBFgIBFzEBGDIBGTMBGjQBHDYBHTgPHjkQHzsBID0PIT4RJD8BJUABJkEPKkQSK0UWL0cXMFEXMVIXMlMXM1QXNFYXNVgPNlkcN1sXOF0POV4dOl8XO2AXPGEPP2QeQGUkQWYDQmcDQ2gDRGkDRWoDRmwDR24PSG8lSXIDSnQPS3UmTHcDTXgDTnkPT3wnUH0tUX8ZUoABGVODARlUhAEZVYUBGVaHARlXiQEPWIoBLlmMARlajgEPW48BL1yQARldkQEZXpIBD1-VATBglgE0YZcBC2KYAQtjmQELZJoBC2WbAQtmnQELZ58BD2igATVpogELaqQBD2ulATZspgELbacBC26oAQ9vqwE3cKwBO3GuAQZyrwEGc7EBBnSyAQZ1swEGdrUBBne3AQ94uAE8eboBBnq8AQ97vQE9fL4BBn2_AQZ-wAEPf8MBPoABxAFCgQHGAQWCAccBBYMByQEFhAHKAQWFAcsBBYYBzQEFhwHPAQ-IAdABQ4kB0gEFigHUAQ-LAdUBRIwB1gEFjQHXAQWOAdgBD48B2wFFkAHcAUuRAd4BTJIB3wFMkwHiAUyUAeMBTJUB5AFMlgHmAUyXAegBD5gB6QFNmQHrAUyaAe0BD5sB7gFOnAHvAUydAfABTJ4B8QEPnwH0AU-gAfUBU6EB9gEYogH3ARijAfgBGKQB-QEYpQH6ARimAfwBGKcB_gEPqAH_AVSpAYECGKoBgwIPqwGEAlWsAYUCGK0BhgIYrgGHAg-vAYoCVrABiwJasQGNAgyyAY4CDLMBkAIMtAGRAgy1AZICDLYBlAIMtwGWAg-4AZcCW7kBmQIMugGbAg-7AZwCXLwBnQIMvQGeAgy-AZ8CD78BogJdwAGjAmPBAaQCB8IBpQIHwwGmAgfEAacCB8UBqAIHxgGqAgfHAawCD8gBrQJkyQGvAgfKAbECD8sBsgJlzAGzAgfNAbQCB84BtQIPzwG4AmbQAbkCbNEBugIE0gG7AgTTAbwCBNQBvQIE1QG-AgTWAcACBNcBwgIP2AHDAm3ZAcUCBNoBxwIP2wHIAm7cAckCBN0BygIE3gHLAg_fAc4Cb-ABzwJ14QHRAnbiAdICduMB1QJ25AHWAnblAdcCduYB2QJ25wHbAg_oAdwCd-kB3gJ26gHgAg_rAeECeOwB4gJ27QHjAnbuAeQCD-8B5wJ58AHoAn3xAekCCPIB6gII8wHrAgj0AewCCPUB7QII9gHvAgj3AfECD_gB8gJ--QH0Agj6AfYCD_sB9wJ__AH4Agj9AfkCCP4B-gIP_wH9AoABgAL-AoQBgQKAAwKCAoEDAoMChAMChAKFAwKFAoYDAoYCiAMChwKKAw-IAosDhQGJAo0DAooCjwMPiwKQA4YBjAKRAwKNApIDAo4CkwMPjwKWA4cBkAKXA40B" +} + +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_fast_bg.postgresql.js"), + + getQueryCompilerWasmModule: async () => { + const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.js") + return await decodeBase64AsWasm(wasm) + }, + + importName: "./query_compiler_fast_bg.js" +} + + + +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({ + * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL }) + * }) + * // Fetch zero or more Chats + * const chats = await prisma.chats.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({ + * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL }) + * }) + * // Fetch zero or more Chats + * const chats = await prisma.chats.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/orm/prisma-client/queries/transactions). + */ + $transaction

[]>(arg: [...P], options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise> + + $transaction(fn: (prisma: Omit) => runtime.Types.Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise + + $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, runtime.Types.Utils.Call, { + extArgs: ExtArgs + }>> + + /** + * `prisma.chats`: Exposes CRUD operations for the **chats** model. + * Example usage: + * ```ts + * // Fetch zero or more Chats + * const chats = await prisma.chats.findMany() + * ``` + */ + get chats(): Prisma.chatsDelegate; + + /** + * `prisma.cities`: Exposes CRUD operations for the **cities** model. + * Example usage: + * ```ts + * // Fetch zero or more Cities + * const cities = await prisma.cities.findMany() + * ``` + */ + get cities(): Prisma.citiesDelegate; + + /** + * `prisma.comments`: Exposes CRUD operations for the **comments** model. + * Example usage: + * ```ts + * // Fetch zero or more Comments + * const comments = await prisma.comments.findMany() + * ``` + */ + get comments(): Prisma.commentsDelegate; + + /** + * `prisma.countries`: Exposes CRUD operations for the **countries** model. + * Example usage: + * ```ts + * // Fetch zero or more Countries + * const countries = await prisma.countries.findMany() + * ``` + */ + get countries(): Prisma.countriesDelegate; + + /** + * `prisma.messages`: Exposes CRUD operations for the **messages** model. + * Example usage: + * ```ts + * // Fetch zero or more Messages + * const messages = await prisma.messages.findMany() + * ``` + */ + get messages(): Prisma.messagesDelegate; + + /** + * `prisma.payment_methods`: Exposes CRUD operations for the **payment_methods** model. + * Example usage: + * ```ts + * // Fetch zero or more Payment_methods + * const payment_methods = await prisma.payment_methods.findMany() + * ``` + */ + get payment_methods(): Prisma.payment_methodsDelegate; + + /** + * `prisma.professionals`: Exposes CRUD operations for the **professionals** model. + * Example usage: + * ```ts + * // Fetch zero or more Professionals + * const professionals = await prisma.professionals.findMany() + * ``` + */ + get professionals(): Prisma.professionalsDelegate; + + /** + * `prisma.professions`: Exposes CRUD operations for the **professions** model. + * Example usage: + * ```ts + * // Fetch zero or more Professions + * const professions = await prisma.professions.findMany() + * ``` + */ + get professions(): Prisma.professionsDelegate; + + /** + * `prisma.regions`: Exposes CRUD operations for the **regions** model. + * Example usage: + * ```ts + * // Fetch zero or more Regions + * const regions = await prisma.regions.findMany() + * ``` + */ + get regions(): Prisma.regionsDelegate; + + /** + * `prisma.reputations`: Exposes CRUD operations for the **reputations** model. + * Example usage: + * ```ts + * // Fetch zero or more Reputations + * const reputations = await prisma.reputations.findMany() + * ``` + */ + get reputations(): Prisma.reputationsDelegate; + + /** + * `prisma.schedules`: Exposes CRUD operations for the **schedules** model. + * Example usage: + * ```ts + * // Fetch zero or more Schedules + * const schedules = await prisma.schedules.findMany() + * ``` + */ + get schedules(): Prisma.schedulesDelegate; + + /** + * `prisma.services`: Exposes CRUD operations for the **services** model. + * Example usage: + * ```ts + * // Fetch zero or more Services + * const services = await prisma.services.findMany() + * ``` + */ + get services(): Prisma.servicesDelegate; + + /** + * `prisma.settings`: Exposes CRUD operations for the **settings** model. + * Example usage: + * ```ts + * // Fetch zero or more Settings + * const settings = await prisma.settings.findMany() + * ``` + */ + get settings(): Prisma.settingsDelegate; + + /** + * `prisma.specializations`: Exposes CRUD operations for the **specializations** model. + * Example usage: + * ```ts + * // Fetch zero or more Specializations + * const specializations = await prisma.specializations.findMany() + * ``` + */ + get specializations(): Prisma.specializationsDelegate; + + /** + * `prisma.users`: Exposes CRUD operations for the **users** model. + * Example usage: + * ```ts + * // Fetch zero or more Users + * const users = await prisma.users.findMany() + * ``` + */ + get users(): Prisma.usersDelegate; +} + +export function getPrismaClientClass(): PrismaClientConstructor { + return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor +} diff --git a/backend/src/generated/prisma/internal/prismaNamespace.ts b/backend/src/generated/prisma/internal/prismaNamespace.ts new file mode 100644 index 0000000..b23cc7e --- /dev/null +++ b/backend/src/generated/prisma/internal/prismaNamespace.ts @@ -0,0 +1,2119 @@ + +/* !!! 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" +import { type PrismaClient } from "./class" + +export type * from '../models' + +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.8.0 + * Query Engine version: 3c6e192761c0362d496ed980de936e2f3cebcd3a + */ +export const prismaVersion: PrismaVersion = { + client: "7.8.0", + engine: "3c6e192761c0362d496ed980de936e2f3cebcd3a" +} + +/** + * 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 = { + chats: 'chats', + cities: 'cities', + comments: 'comments', + countries: 'countries', + messages: 'messages', + payment_methods: 'payment_methods', + professionals: 'professionals', + professions: 'professions', + regions: 'regions', + reputations: 'reputations', + schedules: 'schedules', + services: 'services', + settings: 'settings', + specializations: 'specializations', + users: 'users' +} 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: "chats" | "cities" | "comments" | "countries" | "messages" | "payment_methods" | "professionals" | "professions" | "regions" | "reputations" | "schedules" | "services" | "settings" | "specializations" | "users" + txIsolationLevel: TransactionIsolationLevel + } + model: { + chats: { + payload: Prisma.$chatsPayload + fields: Prisma.chatsFieldRefs + operations: { + findUnique: { + args: Prisma.chatsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.chatsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.chatsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.chatsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.chatsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.chatsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.chatsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.chatsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.chatsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.chatsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.chatsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.chatsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.chatsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.chatsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ChatsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.chatsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.chatsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + cities: { + payload: Prisma.$citiesPayload + fields: Prisma.citiesFieldRefs + operations: { + findUnique: { + args: Prisma.citiesFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.citiesFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.citiesFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.citiesFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.citiesFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.citiesCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.citiesCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.citiesCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.citiesDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.citiesUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.citiesDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.citiesUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.citiesUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.citiesUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.CitiesAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.citiesGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.citiesCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + comments: { + payload: Prisma.$commentsPayload + fields: Prisma.commentsFieldRefs + operations: { + findUnique: { + args: Prisma.commentsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.commentsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.commentsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.commentsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.commentsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.commentsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.commentsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.commentsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.commentsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.commentsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.commentsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.commentsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.commentsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.commentsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.CommentsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.commentsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.commentsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + countries: { + payload: Prisma.$countriesPayload + fields: Prisma.countriesFieldRefs + operations: { + findUnique: { + args: Prisma.countriesFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.countriesFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.countriesFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.countriesFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.countriesFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.countriesCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.countriesCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.countriesCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.countriesDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.countriesUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.countriesDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.countriesUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.countriesUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.countriesUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.CountriesAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.countriesGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.countriesCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + messages: { + payload: Prisma.$messagesPayload + fields: Prisma.messagesFieldRefs + operations: { + findUnique: { + args: Prisma.messagesFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.messagesFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.messagesFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.messagesFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.messagesFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.messagesCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.messagesCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.messagesCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.messagesDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.messagesUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.messagesDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.messagesUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.messagesUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.messagesUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.MessagesAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.messagesGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.messagesCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + payment_methods: { + payload: Prisma.$payment_methodsPayload + fields: Prisma.payment_methodsFieldRefs + operations: { + findUnique: { + args: Prisma.payment_methodsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.payment_methodsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.payment_methodsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.payment_methodsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.payment_methodsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.payment_methodsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.payment_methodsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.payment_methodsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.payment_methodsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.payment_methodsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.payment_methodsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.payment_methodsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.payment_methodsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.payment_methodsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.Payment_methodsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.payment_methodsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.payment_methodsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + professionals: { + payload: Prisma.$professionalsPayload + fields: Prisma.professionalsFieldRefs + operations: { + findUnique: { + args: Prisma.professionalsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.professionalsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.professionalsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.professionalsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.professionalsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.professionalsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.professionalsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.professionalsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.professionalsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.professionalsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.professionalsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.professionalsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.professionalsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.professionalsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ProfessionalsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.professionalsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.professionalsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + professions: { + payload: Prisma.$professionsPayload + fields: Prisma.professionsFieldRefs + operations: { + findUnique: { + args: Prisma.professionsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.professionsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.professionsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.professionsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.professionsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.professionsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.professionsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.professionsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.professionsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.professionsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.professionsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.professionsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.professionsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.professionsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ProfessionsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.professionsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.professionsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + regions: { + payload: Prisma.$regionsPayload + fields: Prisma.regionsFieldRefs + operations: { + findUnique: { + args: Prisma.regionsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.regionsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.regionsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.regionsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.regionsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.regionsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.regionsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.regionsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.regionsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.regionsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.regionsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.regionsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.regionsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.regionsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.RegionsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.regionsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.regionsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + reputations: { + payload: Prisma.$reputationsPayload + fields: Prisma.reputationsFieldRefs + operations: { + findUnique: { + args: Prisma.reputationsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.reputationsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.reputationsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.reputationsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.reputationsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.reputationsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.reputationsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.reputationsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.reputationsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.reputationsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.reputationsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.reputationsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.reputationsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.reputationsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ReputationsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.reputationsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.reputationsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + schedules: { + payload: Prisma.$schedulesPayload + fields: Prisma.schedulesFieldRefs + operations: { + findUnique: { + args: Prisma.schedulesFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.schedulesFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.schedulesFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.schedulesFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.schedulesFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.schedulesCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.schedulesCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.schedulesCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.schedulesDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.schedulesUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.schedulesDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.schedulesUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.schedulesUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.schedulesUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.SchedulesAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.schedulesGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.schedulesCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + services: { + payload: Prisma.$servicesPayload + fields: Prisma.servicesFieldRefs + operations: { + findUnique: { + args: Prisma.servicesFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.servicesFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.servicesFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.servicesFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.servicesFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.servicesCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.servicesCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.servicesCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.servicesDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.servicesUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.servicesDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.servicesUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.servicesUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.servicesUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ServicesAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.servicesGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.servicesCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + settings: { + payload: Prisma.$settingsPayload + fields: Prisma.settingsFieldRefs + operations: { + findUnique: { + args: Prisma.settingsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.settingsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.settingsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.settingsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.settingsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.settingsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.settingsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.settingsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.settingsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.settingsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.settingsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.settingsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.settingsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.settingsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.SettingsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.settingsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.settingsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + specializations: { + payload: Prisma.$specializationsPayload + fields: Prisma.specializationsFieldRefs + operations: { + findUnique: { + args: Prisma.specializationsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.specializationsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.specializationsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.specializationsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.specializationsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.specializationsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.specializationsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.specializationsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.specializationsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.specializationsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.specializationsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.specializationsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.specializationsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.specializationsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.SpecializationsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.specializationsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.specializationsCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + users: { + payload: Prisma.$usersPayload + fields: Prisma.usersFieldRefs + operations: { + findUnique: { + args: Prisma.usersFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.usersFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.usersFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.usersFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.usersFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.usersCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.usersCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.usersCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.usersDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.usersUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.usersDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.usersUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.usersUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.usersUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.UsersAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.usersGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.usersCountArgs + 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 ChatsScalarFieldEnum = { + id: 'id', + user_id: 'user_id', + professional_id: 'professional_id', + created_at: 'created_at' +} as const + +export type ChatsScalarFieldEnum = (typeof ChatsScalarFieldEnum)[keyof typeof ChatsScalarFieldEnum] + + +export const CitiesScalarFieldEnum = { + id: 'id', + region_id: 'region_id', + name: 'name', + latitude: 'latitude', + longitude: 'longitude' +} as const + +export type CitiesScalarFieldEnum = (typeof CitiesScalarFieldEnum)[keyof typeof CitiesScalarFieldEnum] + + +export const CommentsScalarFieldEnum = { + id: 'id', + author_id: 'author_id', + destination_id: 'destination_id', + service_id: 'service_id', + content: 'content', + score: 'score', + is_from_user: 'is_from_user', + created_at: 'created_at' +} as const + +export type CommentsScalarFieldEnum = (typeof CommentsScalarFieldEnum)[keyof typeof CommentsScalarFieldEnum] + + +export const CountriesScalarFieldEnum = { + id: 'id', + name: 'name' +} as const + +export type CountriesScalarFieldEnum = (typeof CountriesScalarFieldEnum)[keyof typeof CountriesScalarFieldEnum] + + +export const MessagesScalarFieldEnum = { + id: 'id', + chat_id: 'chat_id', + sender_id: 'sender_id', + content: 'content', + created_at: 'created_at' +} as const + +export type MessagesScalarFieldEnum = (typeof MessagesScalarFieldEnum)[keyof typeof MessagesScalarFieldEnum] + + +export const Payment_methodsScalarFieldEnum = { + id: 'id', + professional_id: 'professional_id', + nequi: 'nequi', + datafono: 'datafono', + transferencia: 'transferencia' +} as const + +export type Payment_methodsScalarFieldEnum = (typeof Payment_methodsScalarFieldEnum)[keyof typeof Payment_methodsScalarFieldEnum] + + +export const ProfessionalsScalarFieldEnum = { + id: 'id', + user_id: 'user_id', + identification: 'identification', + address: 'address', + additional_address: 'additional_address', + profession: 'profession', + rate: 'rate', + rate_preferences: 'rate_preferences', + location_preferences: 'location_preferences', + banner_picture: 'banner_picture', + identification_picture: 'identification_picture', + certificate_picture: 'certificate_picture', + latitude: 'latitude', + longitude: 'longitude', + average_score: 'average_score', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +} as const + +export type ProfessionalsScalarFieldEnum = (typeof ProfessionalsScalarFieldEnum)[keyof typeof ProfessionalsScalarFieldEnum] + + +export const ProfessionsScalarFieldEnum = { + id: 'id', + name: 'name' +} as const + +export type ProfessionsScalarFieldEnum = (typeof ProfessionsScalarFieldEnum)[keyof typeof ProfessionsScalarFieldEnum] + + +export const RegionsScalarFieldEnum = { + id: 'id', + country_id: 'country_id', + name: 'name' +} as const + +export type RegionsScalarFieldEnum = (typeof RegionsScalarFieldEnum)[keyof typeof RegionsScalarFieldEnum] + + +export const ReputationsScalarFieldEnum = { + user_id: 'user_id', + total: 'total', + average: 'average', + total_pro: 'total_pro', + average_pro: 'average_pro', + updated_at: 'updated_at' +} as const + +export type ReputationsScalarFieldEnum = (typeof ReputationsScalarFieldEnum)[keyof typeof ReputationsScalarFieldEnum] + + +export const SchedulesScalarFieldEnum = { + id: 'id', + professional_id: 'professional_id', + day_of_week: 'day_of_week', + enabled: 'enabled', + continuous_day: 'continuous_day', + range1_hour1: 'range1_hour1', + range1_hour2: 'range1_hour2', + range2_hour1: 'range2_hour1', + range2_hour2: 'range2_hour2' +} as const + +export type SchedulesScalarFieldEnum = (typeof SchedulesScalarFieldEnum)[keyof typeof SchedulesScalarFieldEnum] + + +export const ServicesScalarFieldEnum = { + id: 'id', + professional_id: 'professional_id', + user_id: 'user_id', + address: 'address', + additional_address: 'additional_address', + latitude: 'latitude', + longitude: 'longitude', + day: 'day', + description: 'description', + rate: 'rate', + range1_hour1: 'range1_hour1', + range1_hour2: 'range1_hour2', + status: 'status', + location_preference: 'location_preference', + professional_scored: 'professional_scored', + user_scored: 'user_scored', + created_at: 'created_at', + updated_at: 'updated_at' +} as const + +export type ServicesScalarFieldEnum = (typeof ServicesScalarFieldEnum)[keyof typeof ServicesScalarFieldEnum] + + +export const SettingsScalarFieldEnum = { + key: 'key', + value: 'value', + updated_at: 'updated_at' +} as const + +export type SettingsScalarFieldEnum = (typeof SettingsScalarFieldEnum)[keyof typeof SettingsScalarFieldEnum] + + +export const SpecializationsScalarFieldEnum = { + id: 'id', + professional_id: 'professional_id', + name: 'name', + picture: 'picture' +} as const + +export type SpecializationsScalarFieldEnum = (typeof SpecializationsScalarFieldEnum)[keyof typeof SpecializationsScalarFieldEnum] + + +export const UsersScalarFieldEnum = { + id: 'id', + email: 'email', + phone: 'phone', + password_hash: 'password_hash', + name: 'name', + nickname: 'nickname', + city: 'city', + picture: 'picture', + birthday: 'birthday', + gender: 'gender', + pro_state: 'pro_state', + fcm_token: 'fcm_token', + is_phone_verified: 'is_phone_verified', + is_email_verified: 'is_email_verified', + created_at: 'created_at', + updated_at: 'updated_at' +} as const + +export type UsersScalarFieldEnum = (typeof UsersScalarFieldEnum)[keyof typeof UsersScalarFieldEnum] + + +export const SortOrder = { + asc: 'asc', + desc: 'desc' +} as const + +export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + +export const JsonNullValueInput = { + JsonNull: JsonNull +} as const + +export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput] + + +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] + + +export const JsonNullValueFilter = { + DbNull: DbNull, + JsonNull: JsonNull, + AnyNull: AnyNull +} as const + +export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] + + + +/** + * 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 '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 'Decimal' + */ +export type DecimalFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Decimal'> + + + +/** + * Reference to a field of type 'Decimal[]' + */ +export type ListDecimalFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Decimal[]'> + + + +/** + * 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 'Boolean' + */ +export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> + + + +/** + * Reference to a field of type 'service_status' + */ +export type Enumservice_statusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'service_status'> + + + +/** + * Reference to a field of type 'service_status[]' + */ +export type ListEnumservice_statusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'service_status[]'> + + + +/** + * Reference to a field of type 'service_location' + */ +export type Enumservice_locationFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'service_location'> + + + +/** + * Reference to a field of type 'service_location[]' + */ +export type ListEnumservice_locationFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'service_location[]'> + + + +/** + * Reference to a field of type 'Json' + */ +export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> + + + +/** + * Reference to a field of type 'QueryMode' + */ +export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'> + + + +/** + * 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[] + /** + * Optional maximum size for the query plan cache. If not provided, a default size will be used. + * A value of `0` can be used to disable the cache entirely. A higher cache size can improve + * performance for applications that execute a large number of unique queries, while a smaller + * cache size can reduce memory usage. + * + * @example + * ``` + * const prisma = new PrismaClient({ + * adapter, + * queryPlanCacheMaxSize: 100, + * }) + * ``` + */ + queryPlanCacheMaxSize?: number +} +export type GlobalOmitConfig = { + chats?: Prisma.chatsOmit + cities?: Prisma.citiesOmit + comments?: Prisma.commentsOmit + countries?: Prisma.countriesOmit + messages?: Prisma.messagesOmit + payment_methods?: Prisma.payment_methodsOmit + professionals?: Prisma.professionalsOmit + professions?: Prisma.professionsOmit + regions?: Prisma.regionsOmit + reputations?: Prisma.reputationsOmit + schedules?: Prisma.schedulesOmit + services?: Prisma.servicesOmit + settings?: Prisma.settingsOmit + specializations?: Prisma.specializationsOmit + users?: Prisma.usersOmit +} + +/* 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/backend/src/generated/prisma/internal/prismaNamespaceBrowser.ts b/backend/src/generated/prisma/internal/prismaNamespaceBrowser.ts new file mode 100644 index 0000000..5f9425f --- /dev/null +++ b/backend/src/generated/prisma/internal/prismaNamespaceBrowser.ts @@ -0,0 +1,323 @@ + +/* !!! 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' +export type * from './prismaNamespace' + +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 = { + chats: 'chats', + cities: 'cities', + comments: 'comments', + countries: 'countries', + messages: 'messages', + payment_methods: 'payment_methods', + professionals: 'professionals', + professions: 'professions', + regions: 'regions', + reputations: 'reputations', + schedules: 'schedules', + services: 'services', + settings: 'settings', + specializations: 'specializations', + users: 'users' +} as const + +export type ModelName = (typeof ModelName)[keyof typeof ModelName] + +/* + * 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 ChatsScalarFieldEnum = { + id: 'id', + user_id: 'user_id', + professional_id: 'professional_id', + created_at: 'created_at' +} as const + +export type ChatsScalarFieldEnum = (typeof ChatsScalarFieldEnum)[keyof typeof ChatsScalarFieldEnum] + + +export const CitiesScalarFieldEnum = { + id: 'id', + region_id: 'region_id', + name: 'name', + latitude: 'latitude', + longitude: 'longitude' +} as const + +export type CitiesScalarFieldEnum = (typeof CitiesScalarFieldEnum)[keyof typeof CitiesScalarFieldEnum] + + +export const CommentsScalarFieldEnum = { + id: 'id', + author_id: 'author_id', + destination_id: 'destination_id', + service_id: 'service_id', + content: 'content', + score: 'score', + is_from_user: 'is_from_user', + created_at: 'created_at' +} as const + +export type CommentsScalarFieldEnum = (typeof CommentsScalarFieldEnum)[keyof typeof CommentsScalarFieldEnum] + + +export const CountriesScalarFieldEnum = { + id: 'id', + name: 'name' +} as const + +export type CountriesScalarFieldEnum = (typeof CountriesScalarFieldEnum)[keyof typeof CountriesScalarFieldEnum] + + +export const MessagesScalarFieldEnum = { + id: 'id', + chat_id: 'chat_id', + sender_id: 'sender_id', + content: 'content', + created_at: 'created_at' +} as const + +export type MessagesScalarFieldEnum = (typeof MessagesScalarFieldEnum)[keyof typeof MessagesScalarFieldEnum] + + +export const Payment_methodsScalarFieldEnum = { + id: 'id', + professional_id: 'professional_id', + nequi: 'nequi', + datafono: 'datafono', + transferencia: 'transferencia' +} as const + +export type Payment_methodsScalarFieldEnum = (typeof Payment_methodsScalarFieldEnum)[keyof typeof Payment_methodsScalarFieldEnum] + + +export const ProfessionalsScalarFieldEnum = { + id: 'id', + user_id: 'user_id', + identification: 'identification', + address: 'address', + additional_address: 'additional_address', + profession: 'profession', + rate: 'rate', + rate_preferences: 'rate_preferences', + location_preferences: 'location_preferences', + banner_picture: 'banner_picture', + identification_picture: 'identification_picture', + certificate_picture: 'certificate_picture', + latitude: 'latitude', + longitude: 'longitude', + average_score: 'average_score', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +} as const + +export type ProfessionalsScalarFieldEnum = (typeof ProfessionalsScalarFieldEnum)[keyof typeof ProfessionalsScalarFieldEnum] + + +export const ProfessionsScalarFieldEnum = { + id: 'id', + name: 'name' +} as const + +export type ProfessionsScalarFieldEnum = (typeof ProfessionsScalarFieldEnum)[keyof typeof ProfessionsScalarFieldEnum] + + +export const RegionsScalarFieldEnum = { + id: 'id', + country_id: 'country_id', + name: 'name' +} as const + +export type RegionsScalarFieldEnum = (typeof RegionsScalarFieldEnum)[keyof typeof RegionsScalarFieldEnum] + + +export const ReputationsScalarFieldEnum = { + user_id: 'user_id', + total: 'total', + average: 'average', + total_pro: 'total_pro', + average_pro: 'average_pro', + updated_at: 'updated_at' +} as const + +export type ReputationsScalarFieldEnum = (typeof ReputationsScalarFieldEnum)[keyof typeof ReputationsScalarFieldEnum] + + +export const SchedulesScalarFieldEnum = { + id: 'id', + professional_id: 'professional_id', + day_of_week: 'day_of_week', + enabled: 'enabled', + continuous_day: 'continuous_day', + range1_hour1: 'range1_hour1', + range1_hour2: 'range1_hour2', + range2_hour1: 'range2_hour1', + range2_hour2: 'range2_hour2' +} as const + +export type SchedulesScalarFieldEnum = (typeof SchedulesScalarFieldEnum)[keyof typeof SchedulesScalarFieldEnum] + + +export const ServicesScalarFieldEnum = { + id: 'id', + professional_id: 'professional_id', + user_id: 'user_id', + address: 'address', + additional_address: 'additional_address', + latitude: 'latitude', + longitude: 'longitude', + day: 'day', + description: 'description', + rate: 'rate', + range1_hour1: 'range1_hour1', + range1_hour2: 'range1_hour2', + status: 'status', + location_preference: 'location_preference', + professional_scored: 'professional_scored', + user_scored: 'user_scored', + created_at: 'created_at', + updated_at: 'updated_at' +} as const + +export type ServicesScalarFieldEnum = (typeof ServicesScalarFieldEnum)[keyof typeof ServicesScalarFieldEnum] + + +export const SettingsScalarFieldEnum = { + key: 'key', + value: 'value', + updated_at: 'updated_at' +} as const + +export type SettingsScalarFieldEnum = (typeof SettingsScalarFieldEnum)[keyof typeof SettingsScalarFieldEnum] + + +export const SpecializationsScalarFieldEnum = { + id: 'id', + professional_id: 'professional_id', + name: 'name', + picture: 'picture' +} as const + +export type SpecializationsScalarFieldEnum = (typeof SpecializationsScalarFieldEnum)[keyof typeof SpecializationsScalarFieldEnum] + + +export const UsersScalarFieldEnum = { + id: 'id', + email: 'email', + phone: 'phone', + password_hash: 'password_hash', + name: 'name', + nickname: 'nickname', + city: 'city', + picture: 'picture', + birthday: 'birthday', + gender: 'gender', + pro_state: 'pro_state', + fcm_token: 'fcm_token', + is_phone_verified: 'is_phone_verified', + is_email_verified: 'is_email_verified', + created_at: 'created_at', + updated_at: 'updated_at' +} as const + +export type UsersScalarFieldEnum = (typeof UsersScalarFieldEnum)[keyof typeof UsersScalarFieldEnum] + + +export const SortOrder = { + asc: 'asc', + desc: 'desc' +} as const + +export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + +export const JsonNullValueInput = { + JsonNull: JsonNull +} as const + +export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput] + + +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] + + +export const JsonNullValueFilter = { + DbNull: DbNull, + JsonNull: JsonNull, + AnyNull: AnyNull +} as const + +export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] + diff --git a/backend/src/generated/prisma/models.ts b/backend/src/generated/prisma/models.ts new file mode 100644 index 0000000..e1858fd --- /dev/null +++ b/backend/src/generated/prisma/models.ts @@ -0,0 +1,26 @@ + +/* !!! 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/chats' +export type * from './models/cities' +export type * from './models/comments' +export type * from './models/countries' +export type * from './models/messages' +export type * from './models/payment_methods' +export type * from './models/professionals' +export type * from './models/professions' +export type * from './models/regions' +export type * from './models/reputations' +export type * from './models/schedules' +export type * from './models/services' +export type * from './models/settings' +export type * from './models/specializations' +export type * from './models/users' +export type * from './commonInputTypes' \ No newline at end of file diff --git a/backend/src/generated/prisma/models/chats.ts b/backend/src/generated/prisma/models/chats.ts new file mode 100644 index 0000000..1717abb --- /dev/null +++ b/backend/src/generated/prisma/models/chats.ts @@ -0,0 +1,1575 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `chats` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model chats + * + */ +export type chatsModel = runtime.Types.Result.DefaultSelection + +export type AggregateChats = { + _count: ChatsCountAggregateOutputType | null + _min: ChatsMinAggregateOutputType | null + _max: ChatsMaxAggregateOutputType | null +} + +export type ChatsMinAggregateOutputType = { + id: string | null + user_id: string | null + professional_id: string | null + created_at: Date | null +} + +export type ChatsMaxAggregateOutputType = { + id: string | null + user_id: string | null + professional_id: string | null + created_at: Date | null +} + +export type ChatsCountAggregateOutputType = { + id: number + user_id: number + professional_id: number + created_at: number + _all: number +} + + +export type ChatsMinAggregateInputType = { + id?: true + user_id?: true + professional_id?: true + created_at?: true +} + +export type ChatsMaxAggregateInputType = { + id?: true + user_id?: true + professional_id?: true + created_at?: true +} + +export type ChatsCountAggregateInputType = { + id?: true + user_id?: true + professional_id?: true + created_at?: true + _all?: true +} + +export type ChatsAggregateArgs = { + /** + * Filter which chats to aggregate. + */ + where?: Prisma.chatsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of chats to fetch. + */ + orderBy?: Prisma.chatsOrderByWithRelationInput | Prisma.chatsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.chatsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` chats 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` chats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned chats + **/ + _count?: true | ChatsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ChatsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ChatsMaxAggregateInputType +} + +export type GetChatsAggregateType = { + [P in keyof T & keyof AggregateChats]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type chatsGroupByArgs = { + where?: Prisma.chatsWhereInput + orderBy?: Prisma.chatsOrderByWithAggregationInput | Prisma.chatsOrderByWithAggregationInput[] + by: Prisma.ChatsScalarFieldEnum[] | Prisma.ChatsScalarFieldEnum + having?: Prisma.chatsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ChatsCountAggregateInputType | true + _min?: ChatsMinAggregateInputType + _max?: ChatsMaxAggregateInputType +} + +export type ChatsGroupByOutputType = { + id: string + user_id: string + professional_id: string + created_at: Date + _count: ChatsCountAggregateOutputType | null + _min: ChatsMinAggregateOutputType | null + _max: ChatsMaxAggregateOutputType | null +} + +export type GetChatsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ChatsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type chatsWhereInput = { + AND?: Prisma.chatsWhereInput | Prisma.chatsWhereInput[] + OR?: Prisma.chatsWhereInput[] + NOT?: Prisma.chatsWhereInput | Prisma.chatsWhereInput[] + id?: Prisma.UuidFilter<"chats"> | string + user_id?: Prisma.UuidFilter<"chats"> | string + professional_id?: Prisma.UuidFilter<"chats"> | string + created_at?: Prisma.DateTimeFilter<"chats"> | Date | string + users_chats_professional_idTousers?: Prisma.XOR + users_chats_user_idTousers?: Prisma.XOR + messages?: Prisma.MessagesListRelationFilter +} + +export type chatsOrderByWithRelationInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + created_at?: Prisma.SortOrder + users_chats_professional_idTousers?: Prisma.usersOrderByWithRelationInput + users_chats_user_idTousers?: Prisma.usersOrderByWithRelationInput + messages?: Prisma.messagesOrderByRelationAggregateInput +} + +export type chatsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + user_id_professional_id?: Prisma.chatsUser_idProfessional_idCompoundUniqueInput + AND?: Prisma.chatsWhereInput | Prisma.chatsWhereInput[] + OR?: Prisma.chatsWhereInput[] + NOT?: Prisma.chatsWhereInput | Prisma.chatsWhereInput[] + user_id?: Prisma.UuidFilter<"chats"> | string + professional_id?: Prisma.UuidFilter<"chats"> | string + created_at?: Prisma.DateTimeFilter<"chats"> | Date | string + users_chats_professional_idTousers?: Prisma.XOR + users_chats_user_idTousers?: Prisma.XOR + messages?: Prisma.MessagesListRelationFilter +}, "id" | "user_id_professional_id"> + +export type chatsOrderByWithAggregationInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + created_at?: Prisma.SortOrder + _count?: Prisma.chatsCountOrderByAggregateInput + _max?: Prisma.chatsMaxOrderByAggregateInput + _min?: Prisma.chatsMinOrderByAggregateInput +} + +export type chatsScalarWhereWithAggregatesInput = { + AND?: Prisma.chatsScalarWhereWithAggregatesInput | Prisma.chatsScalarWhereWithAggregatesInput[] + OR?: Prisma.chatsScalarWhereWithAggregatesInput[] + NOT?: Prisma.chatsScalarWhereWithAggregatesInput | Prisma.chatsScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"chats"> | string + user_id?: Prisma.UuidWithAggregatesFilter<"chats"> | string + professional_id?: Prisma.UuidWithAggregatesFilter<"chats"> | string + created_at?: Prisma.DateTimeWithAggregatesFilter<"chats"> | Date | string +} + +export type chatsCreateInput = { + id?: string + created_at?: Date | string + users_chats_professional_idTousers: Prisma.usersCreateNestedOneWithoutChats_chats_professional_idTousersInput + users_chats_user_idTousers: Prisma.usersCreateNestedOneWithoutChats_chats_user_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutChatsInput +} + +export type chatsUncheckedCreateInput = { + id?: string + user_id: string + professional_id: string + created_at?: Date | string + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutChatsInput +} + +export type chatsUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users_chats_professional_idTousers?: Prisma.usersUpdateOneRequiredWithoutChats_chats_professional_idTousersNestedInput + users_chats_user_idTousers?: Prisma.usersUpdateOneRequiredWithoutChats_chats_user_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutChatsNestedInput +} + +export type chatsUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + messages?: Prisma.messagesUncheckedUpdateManyWithoutChatsNestedInput +} + +export type chatsCreateManyInput = { + id?: string + user_id: string + professional_id: string + created_at?: Date | string +} + +export type chatsUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type chatsUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type chatsUser_idProfessional_idCompoundUniqueInput = { + user_id: string + professional_id: string +} + +export type chatsCountOrderByAggregateInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type chatsMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type chatsMinOrderByAggregateInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type ChatsScalarRelationFilter = { + is?: Prisma.chatsWhereInput + isNot?: Prisma.chatsWhereInput +} + +export type ChatsListRelationFilter = { + every?: Prisma.chatsWhereInput + some?: Prisma.chatsWhereInput + none?: Prisma.chatsWhereInput +} + +export type chatsOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type StringFieldUpdateOperationsInput = { + set?: string +} + +export type DateTimeFieldUpdateOperationsInput = { + set?: Date | string +} + +export type chatsCreateNestedOneWithoutMessagesInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutMessagesInput + connect?: Prisma.chatsWhereUniqueInput +} + +export type chatsUpdateOneRequiredWithoutMessagesNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutMessagesInput + upsert?: Prisma.chatsUpsertWithoutMessagesInput + connect?: Prisma.chatsWhereUniqueInput + update?: Prisma.XOR, Prisma.chatsUncheckedUpdateWithoutMessagesInput> +} + +export type chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput = { + create?: Prisma.XOR | Prisma.chatsCreateWithoutUsers_chats_professional_idTousersInput[] | Prisma.chatsUncheckedCreateWithoutUsers_chats_professional_idTousersInput[] + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput | Prisma.chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput[] + createMany?: Prisma.chatsCreateManyUsers_chats_professional_idTousersInputEnvelope + connect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] +} + +export type chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput = { + create?: Prisma.XOR | Prisma.chatsCreateWithoutUsers_chats_user_idTousersInput[] | Prisma.chatsUncheckedCreateWithoutUsers_chats_user_idTousersInput[] + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput | Prisma.chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput[] + createMany?: Prisma.chatsCreateManyUsers_chats_user_idTousersInputEnvelope + connect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] +} + +export type chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput = { + create?: Prisma.XOR | Prisma.chatsCreateWithoutUsers_chats_professional_idTousersInput[] | Prisma.chatsUncheckedCreateWithoutUsers_chats_professional_idTousersInput[] + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput | Prisma.chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput[] + createMany?: Prisma.chatsCreateManyUsers_chats_professional_idTousersInputEnvelope + connect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] +} + +export type chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput = { + create?: Prisma.XOR | Prisma.chatsCreateWithoutUsers_chats_user_idTousersInput[] | Prisma.chatsUncheckedCreateWithoutUsers_chats_user_idTousersInput[] + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput | Prisma.chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput[] + createMany?: Prisma.chatsCreateManyUsers_chats_user_idTousersInputEnvelope + connect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] +} + +export type chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput = { + create?: Prisma.XOR | Prisma.chatsCreateWithoutUsers_chats_professional_idTousersInput[] | Prisma.chatsUncheckedCreateWithoutUsers_chats_professional_idTousersInput[] + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput | Prisma.chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput[] + upsert?: Prisma.chatsUpsertWithWhereUniqueWithoutUsers_chats_professional_idTousersInput | Prisma.chatsUpsertWithWhereUniqueWithoutUsers_chats_professional_idTousersInput[] + createMany?: Prisma.chatsCreateManyUsers_chats_professional_idTousersInputEnvelope + set?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + disconnect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + delete?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + connect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + update?: Prisma.chatsUpdateWithWhereUniqueWithoutUsers_chats_professional_idTousersInput | Prisma.chatsUpdateWithWhereUniqueWithoutUsers_chats_professional_idTousersInput[] + updateMany?: Prisma.chatsUpdateManyWithWhereWithoutUsers_chats_professional_idTousersInput | Prisma.chatsUpdateManyWithWhereWithoutUsers_chats_professional_idTousersInput[] + deleteMany?: Prisma.chatsScalarWhereInput | Prisma.chatsScalarWhereInput[] +} + +export type chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput = { + create?: Prisma.XOR | Prisma.chatsCreateWithoutUsers_chats_user_idTousersInput[] | Prisma.chatsUncheckedCreateWithoutUsers_chats_user_idTousersInput[] + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput | Prisma.chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput[] + upsert?: Prisma.chatsUpsertWithWhereUniqueWithoutUsers_chats_user_idTousersInput | Prisma.chatsUpsertWithWhereUniqueWithoutUsers_chats_user_idTousersInput[] + createMany?: Prisma.chatsCreateManyUsers_chats_user_idTousersInputEnvelope + set?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + disconnect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + delete?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + connect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + update?: Prisma.chatsUpdateWithWhereUniqueWithoutUsers_chats_user_idTousersInput | Prisma.chatsUpdateWithWhereUniqueWithoutUsers_chats_user_idTousersInput[] + updateMany?: Prisma.chatsUpdateManyWithWhereWithoutUsers_chats_user_idTousersInput | Prisma.chatsUpdateManyWithWhereWithoutUsers_chats_user_idTousersInput[] + deleteMany?: Prisma.chatsScalarWhereInput | Prisma.chatsScalarWhereInput[] +} + +export type chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput = { + create?: Prisma.XOR | Prisma.chatsCreateWithoutUsers_chats_professional_idTousersInput[] | Prisma.chatsUncheckedCreateWithoutUsers_chats_professional_idTousersInput[] + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput | Prisma.chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput[] + upsert?: Prisma.chatsUpsertWithWhereUniqueWithoutUsers_chats_professional_idTousersInput | Prisma.chatsUpsertWithWhereUniqueWithoutUsers_chats_professional_idTousersInput[] + createMany?: Prisma.chatsCreateManyUsers_chats_professional_idTousersInputEnvelope + set?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + disconnect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + delete?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + connect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + update?: Prisma.chatsUpdateWithWhereUniqueWithoutUsers_chats_professional_idTousersInput | Prisma.chatsUpdateWithWhereUniqueWithoutUsers_chats_professional_idTousersInput[] + updateMany?: Prisma.chatsUpdateManyWithWhereWithoutUsers_chats_professional_idTousersInput | Prisma.chatsUpdateManyWithWhereWithoutUsers_chats_professional_idTousersInput[] + deleteMany?: Prisma.chatsScalarWhereInput | Prisma.chatsScalarWhereInput[] +} + +export type chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput = { + create?: Prisma.XOR | Prisma.chatsCreateWithoutUsers_chats_user_idTousersInput[] | Prisma.chatsUncheckedCreateWithoutUsers_chats_user_idTousersInput[] + connectOrCreate?: Prisma.chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput | Prisma.chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput[] + upsert?: Prisma.chatsUpsertWithWhereUniqueWithoutUsers_chats_user_idTousersInput | Prisma.chatsUpsertWithWhereUniqueWithoutUsers_chats_user_idTousersInput[] + createMany?: Prisma.chatsCreateManyUsers_chats_user_idTousersInputEnvelope + set?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + disconnect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + delete?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + connect?: Prisma.chatsWhereUniqueInput | Prisma.chatsWhereUniqueInput[] + update?: Prisma.chatsUpdateWithWhereUniqueWithoutUsers_chats_user_idTousersInput | Prisma.chatsUpdateWithWhereUniqueWithoutUsers_chats_user_idTousersInput[] + updateMany?: Prisma.chatsUpdateManyWithWhereWithoutUsers_chats_user_idTousersInput | Prisma.chatsUpdateManyWithWhereWithoutUsers_chats_user_idTousersInput[] + deleteMany?: Prisma.chatsScalarWhereInput | Prisma.chatsScalarWhereInput[] +} + +export type chatsCreateWithoutMessagesInput = { + id?: string + created_at?: Date | string + users_chats_professional_idTousers: Prisma.usersCreateNestedOneWithoutChats_chats_professional_idTousersInput + users_chats_user_idTousers: Prisma.usersCreateNestedOneWithoutChats_chats_user_idTousersInput +} + +export type chatsUncheckedCreateWithoutMessagesInput = { + id?: string + user_id: string + professional_id: string + created_at?: Date | string +} + +export type chatsCreateOrConnectWithoutMessagesInput = { + where: Prisma.chatsWhereUniqueInput + create: Prisma.XOR +} + +export type chatsUpsertWithoutMessagesInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.chatsWhereInput +} + +export type chatsUpdateToOneWithWhereWithoutMessagesInput = { + where?: Prisma.chatsWhereInput + data: Prisma.XOR +} + +export type chatsUpdateWithoutMessagesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users_chats_professional_idTousers?: Prisma.usersUpdateOneRequiredWithoutChats_chats_professional_idTousersNestedInput + users_chats_user_idTousers?: Prisma.usersUpdateOneRequiredWithoutChats_chats_user_idTousersNestedInput +} + +export type chatsUncheckedUpdateWithoutMessagesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type chatsCreateWithoutUsers_chats_professional_idTousersInput = { + id?: string + created_at?: Date | string + users_chats_user_idTousers: Prisma.usersCreateNestedOneWithoutChats_chats_user_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutChatsInput +} + +export type chatsUncheckedCreateWithoutUsers_chats_professional_idTousersInput = { + id?: string + user_id: string + created_at?: Date | string + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutChatsInput +} + +export type chatsCreateOrConnectWithoutUsers_chats_professional_idTousersInput = { + where: Prisma.chatsWhereUniqueInput + create: Prisma.XOR +} + +export type chatsCreateManyUsers_chats_professional_idTousersInputEnvelope = { + data: Prisma.chatsCreateManyUsers_chats_professional_idTousersInput | Prisma.chatsCreateManyUsers_chats_professional_idTousersInput[] + skipDuplicates?: boolean +} + +export type chatsCreateWithoutUsers_chats_user_idTousersInput = { + id?: string + created_at?: Date | string + users_chats_professional_idTousers: Prisma.usersCreateNestedOneWithoutChats_chats_professional_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutChatsInput +} + +export type chatsUncheckedCreateWithoutUsers_chats_user_idTousersInput = { + id?: string + professional_id: string + created_at?: Date | string + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutChatsInput +} + +export type chatsCreateOrConnectWithoutUsers_chats_user_idTousersInput = { + where: Prisma.chatsWhereUniqueInput + create: Prisma.XOR +} + +export type chatsCreateManyUsers_chats_user_idTousersInputEnvelope = { + data: Prisma.chatsCreateManyUsers_chats_user_idTousersInput | Prisma.chatsCreateManyUsers_chats_user_idTousersInput[] + skipDuplicates?: boolean +} + +export type chatsUpsertWithWhereUniqueWithoutUsers_chats_professional_idTousersInput = { + where: Prisma.chatsWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type chatsUpdateWithWhereUniqueWithoutUsers_chats_professional_idTousersInput = { + where: Prisma.chatsWhereUniqueInput + data: Prisma.XOR +} + +export type chatsUpdateManyWithWhereWithoutUsers_chats_professional_idTousersInput = { + where: Prisma.chatsScalarWhereInput + data: Prisma.XOR +} + +export type chatsScalarWhereInput = { + AND?: Prisma.chatsScalarWhereInput | Prisma.chatsScalarWhereInput[] + OR?: Prisma.chatsScalarWhereInput[] + NOT?: Prisma.chatsScalarWhereInput | Prisma.chatsScalarWhereInput[] + id?: Prisma.UuidFilter<"chats"> | string + user_id?: Prisma.UuidFilter<"chats"> | string + professional_id?: Prisma.UuidFilter<"chats"> | string + created_at?: Prisma.DateTimeFilter<"chats"> | Date | string +} + +export type chatsUpsertWithWhereUniqueWithoutUsers_chats_user_idTousersInput = { + where: Prisma.chatsWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type chatsUpdateWithWhereUniqueWithoutUsers_chats_user_idTousersInput = { + where: Prisma.chatsWhereUniqueInput + data: Prisma.XOR +} + +export type chatsUpdateManyWithWhereWithoutUsers_chats_user_idTousersInput = { + where: Prisma.chatsScalarWhereInput + data: Prisma.XOR +} + +export type chatsCreateManyUsers_chats_professional_idTousersInput = { + id?: string + user_id: string + created_at?: Date | string +} + +export type chatsCreateManyUsers_chats_user_idTousersInput = { + id?: string + professional_id: string + created_at?: Date | string +} + +export type chatsUpdateWithoutUsers_chats_professional_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users_chats_user_idTousers?: Prisma.usersUpdateOneRequiredWithoutChats_chats_user_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutChatsNestedInput +} + +export type chatsUncheckedUpdateWithoutUsers_chats_professional_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + messages?: Prisma.messagesUncheckedUpdateManyWithoutChatsNestedInput +} + +export type chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type chatsUpdateWithoutUsers_chats_user_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users_chats_professional_idTousers?: Prisma.usersUpdateOneRequiredWithoutChats_chats_professional_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutChatsNestedInput +} + +export type chatsUncheckedUpdateWithoutUsers_chats_user_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + messages?: Prisma.messagesUncheckedUpdateManyWithoutChatsNestedInput +} + +export type chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + +/** + * Count Type ChatsCountOutputType + */ + +export type ChatsCountOutputType = { + messages: number +} + +export type ChatsCountOutputTypeSelect = { + messages?: boolean | ChatsCountOutputTypeCountMessagesArgs +} + +/** + * ChatsCountOutputType without action + */ +export type ChatsCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the ChatsCountOutputType + */ + select?: Prisma.ChatsCountOutputTypeSelect | null +} + +/** + * ChatsCountOutputType without action + */ +export type ChatsCountOutputTypeCountMessagesArgs = { + where?: Prisma.messagesWhereInput +} + + +export type chatsSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + user_id?: boolean + professional_id?: boolean + created_at?: boolean + users_chats_professional_idTousers?: boolean | Prisma.usersDefaultArgs + users_chats_user_idTousers?: boolean | Prisma.usersDefaultArgs + messages?: boolean | Prisma.chats$messagesArgs + _count?: boolean | Prisma.ChatsCountOutputTypeDefaultArgs +}, ExtArgs["result"]["chats"]> + +export type chatsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + user_id?: boolean + professional_id?: boolean + created_at?: boolean + users_chats_professional_idTousers?: boolean | Prisma.usersDefaultArgs + users_chats_user_idTousers?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["chats"]> + +export type chatsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + user_id?: boolean + professional_id?: boolean + created_at?: boolean + users_chats_professional_idTousers?: boolean | Prisma.usersDefaultArgs + users_chats_user_idTousers?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["chats"]> + +export type chatsSelectScalar = { + id?: boolean + user_id?: boolean + professional_id?: boolean + created_at?: boolean +} + +export type chatsOmit = runtime.Types.Extensions.GetOmit<"id" | "user_id" | "professional_id" | "created_at", ExtArgs["result"]["chats"]> +export type chatsInclude = { + users_chats_professional_idTousers?: boolean | Prisma.usersDefaultArgs + users_chats_user_idTousers?: boolean | Prisma.usersDefaultArgs + messages?: boolean | Prisma.chats$messagesArgs + _count?: boolean | Prisma.ChatsCountOutputTypeDefaultArgs +} +export type chatsIncludeCreateManyAndReturn = { + users_chats_professional_idTousers?: boolean | Prisma.usersDefaultArgs + users_chats_user_idTousers?: boolean | Prisma.usersDefaultArgs +} +export type chatsIncludeUpdateManyAndReturn = { + users_chats_professional_idTousers?: boolean | Prisma.usersDefaultArgs + users_chats_user_idTousers?: boolean | Prisma.usersDefaultArgs +} + +export type $chatsPayload = { + name: "chats" + objects: { + users_chats_professional_idTousers: Prisma.$usersPayload + users_chats_user_idTousers: Prisma.$usersPayload + messages: Prisma.$messagesPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + user_id: string + professional_id: string + created_at: Date + }, ExtArgs["result"]["chats"]> + composites: {} +} + +export type chatsGetPayload = runtime.Types.Result.GetResult + +export type chatsCountArgs = + Omit & { + select?: ChatsCountAggregateInputType | true + } + +export interface chatsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['chats'], meta: { name: 'chats' } } + /** + * Find zero or one Chats that matches the filter. + * @param {chatsFindUniqueArgs} args - Arguments to find a Chats + * @example + * // Get one Chats + * const chats = await prisma.chats.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__chatsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Chats that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {chatsFindUniqueOrThrowArgs} args - Arguments to find a Chats + * @example + * // Get one Chats + * const chats = await prisma.chats.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__chatsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Chats 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 {chatsFindFirstArgs} args - Arguments to find a Chats + * @example + * // Get one Chats + * const chats = await prisma.chats.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__chatsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Chats 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 {chatsFindFirstOrThrowArgs} args - Arguments to find a Chats + * @example + * // Get one Chats + * const chats = await prisma.chats.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__chatsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Chats 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 {chatsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Chats + * const chats = await prisma.chats.findMany() + * + * // Get first 10 Chats + * const chats = await prisma.chats.findMany({ take: 10 }) + * + * // Only select the `id` + * const chatsWithIdOnly = await prisma.chats.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Chats. + * @param {chatsCreateArgs} args - Arguments to create a Chats. + * @example + * // Create one Chats + * const Chats = await prisma.chats.create({ + * data: { + * // ... data to create a Chats + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__chatsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Chats. + * @param {chatsCreateManyArgs} args - Arguments to create many Chats. + * @example + * // Create many Chats + * const chats = await prisma.chats.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Chats and returns the data saved in the database. + * @param {chatsCreateManyAndReturnArgs} args - Arguments to create many Chats. + * @example + * // Create many Chats + * const chats = await prisma.chats.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Chats and only return the `id` + * const chatsWithIdOnly = await prisma.chats.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 Chats. + * @param {chatsDeleteArgs} args - Arguments to delete one Chats. + * @example + * // Delete one Chats + * const Chats = await prisma.chats.delete({ + * where: { + * // ... filter to delete one Chats + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__chatsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Chats. + * @param {chatsUpdateArgs} args - Arguments to update one Chats. + * @example + * // Update one Chats + * const chats = await prisma.chats.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__chatsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Chats. + * @param {chatsDeleteManyArgs} args - Arguments to filter Chats to delete. + * @example + * // Delete a few Chats + * const { count } = await prisma.chats.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Chats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {chatsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Chats + * const chats = await prisma.chats.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Chats and returns the data updated in the database. + * @param {chatsUpdateManyAndReturnArgs} args - Arguments to update many Chats. + * @example + * // Update many Chats + * const chats = await prisma.chats.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Chats and only return the `id` + * const chatsWithIdOnly = await prisma.chats.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 Chats. + * @param {chatsUpsertArgs} args - Arguments to update or create a Chats. + * @example + * // Update or create a Chats + * const chats = await prisma.chats.upsert({ + * create: { + * // ... data to create a Chats + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Chats we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__chatsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Chats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {chatsCountArgs} args - Arguments to filter Chats to count. + * @example + * // Count the number of Chats + * const count = await prisma.chats.count({ + * where: { + * // ... the filter for the Chats 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 Chats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ChatsAggregateArgs} 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 Chats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {chatsGroupByArgs} 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 chatsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: chatsGroupByArgs['orderBy'] } + : { orderBy?: chatsGroupByArgs['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 ? GetChatsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the chats model + */ +readonly fields: chatsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for chats. + * 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__chatsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + users_chats_professional_idTousers = {}>(args?: Prisma.Subset>): Prisma.Prisma__usersClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + users_chats_user_idTousers = {}>(args?: Prisma.Subset>): Prisma.Prisma__usersClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + messages = {}>(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 chats model + */ +export interface chatsFieldRefs { + readonly id: Prisma.FieldRef<"chats", 'String'> + readonly user_id: Prisma.FieldRef<"chats", 'String'> + readonly professional_id: Prisma.FieldRef<"chats", 'String'> + readonly created_at: Prisma.FieldRef<"chats", 'DateTime'> +} + + +// Custom InputTypes +/** + * chats findUnique + */ +export type chatsFindUniqueArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * Filter, which chats to fetch. + */ + where: Prisma.chatsWhereUniqueInput +} + +/** + * chats findUniqueOrThrow + */ +export type chatsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * Filter, which chats to fetch. + */ + where: Prisma.chatsWhereUniqueInput +} + +/** + * chats findFirst + */ +export type chatsFindFirstArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * Filter, which chats to fetch. + */ + where?: Prisma.chatsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of chats to fetch. + */ + orderBy?: Prisma.chatsOrderByWithRelationInput | Prisma.chatsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for chats. + */ + cursor?: Prisma.chatsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` chats 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` chats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of chats. + */ + distinct?: Prisma.ChatsScalarFieldEnum | Prisma.ChatsScalarFieldEnum[] +} + +/** + * chats findFirstOrThrow + */ +export type chatsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * Filter, which chats to fetch. + */ + where?: Prisma.chatsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of chats to fetch. + */ + orderBy?: Prisma.chatsOrderByWithRelationInput | Prisma.chatsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for chats. + */ + cursor?: Prisma.chatsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` chats 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` chats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of chats. + */ + distinct?: Prisma.ChatsScalarFieldEnum | Prisma.ChatsScalarFieldEnum[] +} + +/** + * chats findMany + */ +export type chatsFindManyArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * Filter, which chats to fetch. + */ + where?: Prisma.chatsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of chats to fetch. + */ + orderBy?: Prisma.chatsOrderByWithRelationInput | Prisma.chatsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing chats. + */ + cursor?: Prisma.chatsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` chats 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` chats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of chats. + */ + distinct?: Prisma.ChatsScalarFieldEnum | Prisma.ChatsScalarFieldEnum[] +} + +/** + * chats create + */ +export type chatsCreateArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * The data needed to create a chats. + */ + data: Prisma.XOR +} + +/** + * chats createMany + */ +export type chatsCreateManyArgs = { + /** + * The data used to create many chats. + */ + data: Prisma.chatsCreateManyInput | Prisma.chatsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * chats createManyAndReturn + */ +export type chatsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * The data used to create many chats. + */ + data: Prisma.chatsCreateManyInput | Prisma.chatsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsIncludeCreateManyAndReturn | null +} + +/** + * chats update + */ +export type chatsUpdateArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * The data needed to update a chats. + */ + data: Prisma.XOR + /** + * Choose, which chats to update. + */ + where: Prisma.chatsWhereUniqueInput +} + +/** + * chats updateMany + */ +export type chatsUpdateManyArgs = { + /** + * The data used to update chats. + */ + data: Prisma.XOR + /** + * Filter which chats to update + */ + where?: Prisma.chatsWhereInput + /** + * Limit how many chats to update. + */ + limit?: number +} + +/** + * chats updateManyAndReturn + */ +export type chatsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * The data used to update chats. + */ + data: Prisma.XOR + /** + * Filter which chats to update + */ + where?: Prisma.chatsWhereInput + /** + * Limit how many chats to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsIncludeUpdateManyAndReturn | null +} + +/** + * chats upsert + */ +export type chatsUpsertArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * The filter to search for the chats to update in case it exists. + */ + where: Prisma.chatsWhereUniqueInput + /** + * In case the chats found by the `where` argument doesn't exist, create a new chats with this data. + */ + create: Prisma.XOR + /** + * In case the chats was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * chats delete + */ +export type chatsDeleteArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + /** + * Filter which chats to delete. + */ + where: Prisma.chatsWhereUniqueInput +} + +/** + * chats deleteMany + */ +export type chatsDeleteManyArgs = { + /** + * Filter which chats to delete + */ + where?: Prisma.chatsWhereInput + /** + * Limit how many chats to delete. + */ + limit?: number +} + +/** + * chats.messages + */ +export type chats$messagesArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + where?: Prisma.messagesWhereInput + orderBy?: Prisma.messagesOrderByWithRelationInput | Prisma.messagesOrderByWithRelationInput[] + cursor?: Prisma.messagesWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.MessagesScalarFieldEnum | Prisma.MessagesScalarFieldEnum[] +} + +/** + * chats without action + */ +export type chatsDefaultArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null +} diff --git a/backend/src/generated/prisma/models/cities.ts b/backend/src/generated/prisma/models/cities.ts new file mode 100644 index 0000000..9ed6fc0 --- /dev/null +++ b/backend/src/generated/prisma/models/cities.ts @@ -0,0 +1,1403 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `cities` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model cities + * + */ +export type citiesModel = runtime.Types.Result.DefaultSelection + +export type AggregateCities = { + _count: CitiesCountAggregateOutputType | null + _avg: CitiesAvgAggregateOutputType | null + _sum: CitiesSumAggregateOutputType | null + _min: CitiesMinAggregateOutputType | null + _max: CitiesMaxAggregateOutputType | null +} + +export type CitiesAvgAggregateOutputType = { + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null +} + +export type CitiesSumAggregateOutputType = { + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null +} + +export type CitiesMinAggregateOutputType = { + id: string | null + region_id: string | null + name: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null +} + +export type CitiesMaxAggregateOutputType = { + id: string | null + region_id: string | null + name: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null +} + +export type CitiesCountAggregateOutputType = { + id: number + region_id: number + name: number + latitude: number + longitude: number + _all: number +} + + +export type CitiesAvgAggregateInputType = { + latitude?: true + longitude?: true +} + +export type CitiesSumAggregateInputType = { + latitude?: true + longitude?: true +} + +export type CitiesMinAggregateInputType = { + id?: true + region_id?: true + name?: true + latitude?: true + longitude?: true +} + +export type CitiesMaxAggregateInputType = { + id?: true + region_id?: true + name?: true + latitude?: true + longitude?: true +} + +export type CitiesCountAggregateInputType = { + id?: true + region_id?: true + name?: true + latitude?: true + longitude?: true + _all?: true +} + +export type CitiesAggregateArgs = { + /** + * Filter which cities to aggregate. + */ + where?: Prisma.citiesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of cities to fetch. + */ + orderBy?: Prisma.citiesOrderByWithRelationInput | Prisma.citiesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.citiesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` cities 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` cities. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned cities + **/ + _count?: true | CitiesCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: CitiesAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: CitiesSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: CitiesMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: CitiesMaxAggregateInputType +} + +export type GetCitiesAggregateType = { + [P in keyof T & keyof AggregateCities]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type citiesGroupByArgs = { + where?: Prisma.citiesWhereInput + orderBy?: Prisma.citiesOrderByWithAggregationInput | Prisma.citiesOrderByWithAggregationInput[] + by: Prisma.CitiesScalarFieldEnum[] | Prisma.CitiesScalarFieldEnum + having?: Prisma.citiesScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: CitiesCountAggregateInputType | true + _avg?: CitiesAvgAggregateInputType + _sum?: CitiesSumAggregateInputType + _min?: CitiesMinAggregateInputType + _max?: CitiesMaxAggregateInputType +} + +export type CitiesGroupByOutputType = { + id: string + region_id: string + name: string + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + _count: CitiesCountAggregateOutputType | null + _avg: CitiesAvgAggregateOutputType | null + _sum: CitiesSumAggregateOutputType | null + _min: CitiesMinAggregateOutputType | null + _max: CitiesMaxAggregateOutputType | null +} + +export type GetCitiesGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof CitiesGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type citiesWhereInput = { + AND?: Prisma.citiesWhereInput | Prisma.citiesWhereInput[] + OR?: Prisma.citiesWhereInput[] + NOT?: Prisma.citiesWhereInput | Prisma.citiesWhereInput[] + id?: Prisma.UuidFilter<"cities"> | string + region_id?: Prisma.UuidFilter<"cities"> | string + name?: Prisma.StringFilter<"cities"> | string + latitude?: Prisma.DecimalNullableFilter<"cities"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableFilter<"cities"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + regions?: Prisma.XOR +} + +export type citiesOrderByWithRelationInput = { + id?: Prisma.SortOrder + region_id?: Prisma.SortOrder + name?: Prisma.SortOrder + latitude?: Prisma.SortOrderInput | Prisma.SortOrder + longitude?: Prisma.SortOrderInput | Prisma.SortOrder + regions?: Prisma.regionsOrderByWithRelationInput +} + +export type citiesWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.citiesWhereInput | Prisma.citiesWhereInput[] + OR?: Prisma.citiesWhereInput[] + NOT?: Prisma.citiesWhereInput | Prisma.citiesWhereInput[] + region_id?: Prisma.UuidFilter<"cities"> | string + name?: Prisma.StringFilter<"cities"> | string + latitude?: Prisma.DecimalNullableFilter<"cities"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableFilter<"cities"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + regions?: Prisma.XOR +}, "id"> + +export type citiesOrderByWithAggregationInput = { + id?: Prisma.SortOrder + region_id?: Prisma.SortOrder + name?: Prisma.SortOrder + latitude?: Prisma.SortOrderInput | Prisma.SortOrder + longitude?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.citiesCountOrderByAggregateInput + _avg?: Prisma.citiesAvgOrderByAggregateInput + _max?: Prisma.citiesMaxOrderByAggregateInput + _min?: Prisma.citiesMinOrderByAggregateInput + _sum?: Prisma.citiesSumOrderByAggregateInput +} + +export type citiesScalarWhereWithAggregatesInput = { + AND?: Prisma.citiesScalarWhereWithAggregatesInput | Prisma.citiesScalarWhereWithAggregatesInput[] + OR?: Prisma.citiesScalarWhereWithAggregatesInput[] + NOT?: Prisma.citiesScalarWhereWithAggregatesInput | Prisma.citiesScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"cities"> | string + region_id?: Prisma.UuidWithAggregatesFilter<"cities"> | string + name?: Prisma.StringWithAggregatesFilter<"cities"> | string + latitude?: Prisma.DecimalNullableWithAggregatesFilter<"cities"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableWithAggregatesFilter<"cities"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesCreateInput = { + id?: string + name: string + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + regions: Prisma.regionsCreateNestedOneWithoutCitiesInput +} + +export type citiesUncheckedCreateInput = { + id?: string + region_id: string + name: string + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + regions?: Prisma.regionsUpdateOneRequiredWithoutCitiesNestedInput +} + +export type citiesUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + region_id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesCreateManyInput = { + id?: string + region_id: string + name: string + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + region_id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesCountOrderByAggregateInput = { + id?: Prisma.SortOrder + region_id?: Prisma.SortOrder + name?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder +} + +export type citiesAvgOrderByAggregateInput = { + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder +} + +export type citiesMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + region_id?: Prisma.SortOrder + name?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder +} + +export type citiesMinOrderByAggregateInput = { + id?: Prisma.SortOrder + region_id?: Prisma.SortOrder + name?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder +} + +export type citiesSumOrderByAggregateInput = { + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder +} + +export type CitiesListRelationFilter = { + every?: Prisma.citiesWhereInput + some?: Prisma.citiesWhereInput + none?: Prisma.citiesWhereInput +} + +export type citiesOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type NullableDecimalFieldUpdateOperationsInput = { + set?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + increment?: runtime.Decimal | runtime.DecimalJsLike | number | string + decrement?: runtime.Decimal | runtime.DecimalJsLike | number | string + multiply?: runtime.Decimal | runtime.DecimalJsLike | number | string + divide?: runtime.Decimal | runtime.DecimalJsLike | number | string +} + +export type citiesCreateNestedManyWithoutRegionsInput = { + create?: Prisma.XOR | Prisma.citiesCreateWithoutRegionsInput[] | Prisma.citiesUncheckedCreateWithoutRegionsInput[] + connectOrCreate?: Prisma.citiesCreateOrConnectWithoutRegionsInput | Prisma.citiesCreateOrConnectWithoutRegionsInput[] + createMany?: Prisma.citiesCreateManyRegionsInputEnvelope + connect?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] +} + +export type citiesUncheckedCreateNestedManyWithoutRegionsInput = { + create?: Prisma.XOR | Prisma.citiesCreateWithoutRegionsInput[] | Prisma.citiesUncheckedCreateWithoutRegionsInput[] + connectOrCreate?: Prisma.citiesCreateOrConnectWithoutRegionsInput | Prisma.citiesCreateOrConnectWithoutRegionsInput[] + createMany?: Prisma.citiesCreateManyRegionsInputEnvelope + connect?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] +} + +export type citiesUpdateManyWithoutRegionsNestedInput = { + create?: Prisma.XOR | Prisma.citiesCreateWithoutRegionsInput[] | Prisma.citiesUncheckedCreateWithoutRegionsInput[] + connectOrCreate?: Prisma.citiesCreateOrConnectWithoutRegionsInput | Prisma.citiesCreateOrConnectWithoutRegionsInput[] + upsert?: Prisma.citiesUpsertWithWhereUniqueWithoutRegionsInput | Prisma.citiesUpsertWithWhereUniqueWithoutRegionsInput[] + createMany?: Prisma.citiesCreateManyRegionsInputEnvelope + set?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] + disconnect?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] + delete?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] + connect?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] + update?: Prisma.citiesUpdateWithWhereUniqueWithoutRegionsInput | Prisma.citiesUpdateWithWhereUniqueWithoutRegionsInput[] + updateMany?: Prisma.citiesUpdateManyWithWhereWithoutRegionsInput | Prisma.citiesUpdateManyWithWhereWithoutRegionsInput[] + deleteMany?: Prisma.citiesScalarWhereInput | Prisma.citiesScalarWhereInput[] +} + +export type citiesUncheckedUpdateManyWithoutRegionsNestedInput = { + create?: Prisma.XOR | Prisma.citiesCreateWithoutRegionsInput[] | Prisma.citiesUncheckedCreateWithoutRegionsInput[] + connectOrCreate?: Prisma.citiesCreateOrConnectWithoutRegionsInput | Prisma.citiesCreateOrConnectWithoutRegionsInput[] + upsert?: Prisma.citiesUpsertWithWhereUniqueWithoutRegionsInput | Prisma.citiesUpsertWithWhereUniqueWithoutRegionsInput[] + createMany?: Prisma.citiesCreateManyRegionsInputEnvelope + set?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] + disconnect?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] + delete?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] + connect?: Prisma.citiesWhereUniqueInput | Prisma.citiesWhereUniqueInput[] + update?: Prisma.citiesUpdateWithWhereUniqueWithoutRegionsInput | Prisma.citiesUpdateWithWhereUniqueWithoutRegionsInput[] + updateMany?: Prisma.citiesUpdateManyWithWhereWithoutRegionsInput | Prisma.citiesUpdateManyWithWhereWithoutRegionsInput[] + deleteMany?: Prisma.citiesScalarWhereInput | Prisma.citiesScalarWhereInput[] +} + +export type citiesCreateWithoutRegionsInput = { + id?: string + name: string + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesUncheckedCreateWithoutRegionsInput = { + id?: string + name: string + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesCreateOrConnectWithoutRegionsInput = { + where: Prisma.citiesWhereUniqueInput + create: Prisma.XOR +} + +export type citiesCreateManyRegionsInputEnvelope = { + data: Prisma.citiesCreateManyRegionsInput | Prisma.citiesCreateManyRegionsInput[] + skipDuplicates?: boolean +} + +export type citiesUpsertWithWhereUniqueWithoutRegionsInput = { + where: Prisma.citiesWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type citiesUpdateWithWhereUniqueWithoutRegionsInput = { + where: Prisma.citiesWhereUniqueInput + data: Prisma.XOR +} + +export type citiesUpdateManyWithWhereWithoutRegionsInput = { + where: Prisma.citiesScalarWhereInput + data: Prisma.XOR +} + +export type citiesScalarWhereInput = { + AND?: Prisma.citiesScalarWhereInput | Prisma.citiesScalarWhereInput[] + OR?: Prisma.citiesScalarWhereInput[] + NOT?: Prisma.citiesScalarWhereInput | Prisma.citiesScalarWhereInput[] + id?: Prisma.UuidFilter<"cities"> | string + region_id?: Prisma.UuidFilter<"cities"> | string + name?: Prisma.StringFilter<"cities"> | string + latitude?: Prisma.DecimalNullableFilter<"cities"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableFilter<"cities"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesCreateManyRegionsInput = { + id?: string + name: string + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesUpdateWithoutRegionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesUncheckedUpdateWithoutRegionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + +export type citiesUncheckedUpdateManyWithoutRegionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null +} + + + +export type citiesSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + region_id?: boolean + name?: boolean + latitude?: boolean + longitude?: boolean + regions?: boolean | Prisma.regionsDefaultArgs +}, ExtArgs["result"]["cities"]> + +export type citiesSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + region_id?: boolean + name?: boolean + latitude?: boolean + longitude?: boolean + regions?: boolean | Prisma.regionsDefaultArgs +}, ExtArgs["result"]["cities"]> + +export type citiesSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + region_id?: boolean + name?: boolean + latitude?: boolean + longitude?: boolean + regions?: boolean | Prisma.regionsDefaultArgs +}, ExtArgs["result"]["cities"]> + +export type citiesSelectScalar = { + id?: boolean + region_id?: boolean + name?: boolean + latitude?: boolean + longitude?: boolean +} + +export type citiesOmit = runtime.Types.Extensions.GetOmit<"id" | "region_id" | "name" | "latitude" | "longitude", ExtArgs["result"]["cities"]> +export type citiesInclude = { + regions?: boolean | Prisma.regionsDefaultArgs +} +export type citiesIncludeCreateManyAndReturn = { + regions?: boolean | Prisma.regionsDefaultArgs +} +export type citiesIncludeUpdateManyAndReturn = { + regions?: boolean | Prisma.regionsDefaultArgs +} + +export type $citiesPayload = { + name: "cities" + objects: { + regions: Prisma.$regionsPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + region_id: string + name: string + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + }, ExtArgs["result"]["cities"]> + composites: {} +} + +export type citiesGetPayload = runtime.Types.Result.GetResult + +export type citiesCountArgs = + Omit & { + select?: CitiesCountAggregateInputType | true + } + +export interface citiesDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['cities'], meta: { name: 'cities' } } + /** + * Find zero or one Cities that matches the filter. + * @param {citiesFindUniqueArgs} args - Arguments to find a Cities + * @example + * // Get one Cities + * const cities = await prisma.cities.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__citiesClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Cities that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {citiesFindUniqueOrThrowArgs} args - Arguments to find a Cities + * @example + * // Get one Cities + * const cities = await prisma.cities.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__citiesClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Cities 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 {citiesFindFirstArgs} args - Arguments to find a Cities + * @example + * // Get one Cities + * const cities = await prisma.cities.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__citiesClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Cities 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 {citiesFindFirstOrThrowArgs} args - Arguments to find a Cities + * @example + * // Get one Cities + * const cities = await prisma.cities.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__citiesClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Cities 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 {citiesFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Cities + * const cities = await prisma.cities.findMany() + * + * // Get first 10 Cities + * const cities = await prisma.cities.findMany({ take: 10 }) + * + * // Only select the `id` + * const citiesWithIdOnly = await prisma.cities.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Cities. + * @param {citiesCreateArgs} args - Arguments to create a Cities. + * @example + * // Create one Cities + * const Cities = await prisma.cities.create({ + * data: { + * // ... data to create a Cities + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__citiesClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Cities. + * @param {citiesCreateManyArgs} args - Arguments to create many Cities. + * @example + * // Create many Cities + * const cities = await prisma.cities.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Cities and returns the data saved in the database. + * @param {citiesCreateManyAndReturnArgs} args - Arguments to create many Cities. + * @example + * // Create many Cities + * const cities = await prisma.cities.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Cities and only return the `id` + * const citiesWithIdOnly = await prisma.cities.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 Cities. + * @param {citiesDeleteArgs} args - Arguments to delete one Cities. + * @example + * // Delete one Cities + * const Cities = await prisma.cities.delete({ + * where: { + * // ... filter to delete one Cities + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__citiesClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Cities. + * @param {citiesUpdateArgs} args - Arguments to update one Cities. + * @example + * // Update one Cities + * const cities = await prisma.cities.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__citiesClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Cities. + * @param {citiesDeleteManyArgs} args - Arguments to filter Cities to delete. + * @example + * // Delete a few Cities + * const { count } = await prisma.cities.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Cities. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {citiesUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Cities + * const cities = await prisma.cities.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Cities and returns the data updated in the database. + * @param {citiesUpdateManyAndReturnArgs} args - Arguments to update many Cities. + * @example + * // Update many Cities + * const cities = await prisma.cities.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Cities and only return the `id` + * const citiesWithIdOnly = await prisma.cities.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 Cities. + * @param {citiesUpsertArgs} args - Arguments to update or create a Cities. + * @example + * // Update or create a Cities + * const cities = await prisma.cities.upsert({ + * create: { + * // ... data to create a Cities + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Cities we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__citiesClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Cities. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {citiesCountArgs} args - Arguments to filter Cities to count. + * @example + * // Count the number of Cities + * const count = await prisma.cities.count({ + * where: { + * // ... the filter for the Cities 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 Cities. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CitiesAggregateArgs} 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 Cities. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {citiesGroupByArgs} 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 citiesGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: citiesGroupByArgs['orderBy'] } + : { orderBy?: citiesGroupByArgs['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 ? GetCitiesGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the cities model + */ +readonly fields: citiesFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for cities. + * 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__citiesClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + regions = {}>(args?: Prisma.Subset>): Prisma.Prisma__regionsClient, 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 cities model + */ +export interface citiesFieldRefs { + readonly id: Prisma.FieldRef<"cities", 'String'> + readonly region_id: Prisma.FieldRef<"cities", 'String'> + readonly name: Prisma.FieldRef<"cities", 'String'> + readonly latitude: Prisma.FieldRef<"cities", 'Decimal'> + readonly longitude: Prisma.FieldRef<"cities", 'Decimal'> +} + + +// Custom InputTypes +/** + * cities findUnique + */ +export type citiesFindUniqueArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * Filter, which cities to fetch. + */ + where: Prisma.citiesWhereUniqueInput +} + +/** + * cities findUniqueOrThrow + */ +export type citiesFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * Filter, which cities to fetch. + */ + where: Prisma.citiesWhereUniqueInput +} + +/** + * cities findFirst + */ +export type citiesFindFirstArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * Filter, which cities to fetch. + */ + where?: Prisma.citiesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of cities to fetch. + */ + orderBy?: Prisma.citiesOrderByWithRelationInput | Prisma.citiesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for cities. + */ + cursor?: Prisma.citiesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` cities 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` cities. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of cities. + */ + distinct?: Prisma.CitiesScalarFieldEnum | Prisma.CitiesScalarFieldEnum[] +} + +/** + * cities findFirstOrThrow + */ +export type citiesFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * Filter, which cities to fetch. + */ + where?: Prisma.citiesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of cities to fetch. + */ + orderBy?: Prisma.citiesOrderByWithRelationInput | Prisma.citiesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for cities. + */ + cursor?: Prisma.citiesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` cities 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` cities. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of cities. + */ + distinct?: Prisma.CitiesScalarFieldEnum | Prisma.CitiesScalarFieldEnum[] +} + +/** + * cities findMany + */ +export type citiesFindManyArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * Filter, which cities to fetch. + */ + where?: Prisma.citiesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of cities to fetch. + */ + orderBy?: Prisma.citiesOrderByWithRelationInput | Prisma.citiesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing cities. + */ + cursor?: Prisma.citiesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` cities 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` cities. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of cities. + */ + distinct?: Prisma.CitiesScalarFieldEnum | Prisma.CitiesScalarFieldEnum[] +} + +/** + * cities create + */ +export type citiesCreateArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * The data needed to create a cities. + */ + data: Prisma.XOR +} + +/** + * cities createMany + */ +export type citiesCreateManyArgs = { + /** + * The data used to create many cities. + */ + data: Prisma.citiesCreateManyInput | Prisma.citiesCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * cities createManyAndReturn + */ +export type citiesCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelectCreateManyAndReturn | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * The data used to create many cities. + */ + data: Prisma.citiesCreateManyInput | Prisma.citiesCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesIncludeCreateManyAndReturn | null +} + +/** + * cities update + */ +export type citiesUpdateArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * The data needed to update a cities. + */ + data: Prisma.XOR + /** + * Choose, which cities to update. + */ + where: Prisma.citiesWhereUniqueInput +} + +/** + * cities updateMany + */ +export type citiesUpdateManyArgs = { + /** + * The data used to update cities. + */ + data: Prisma.XOR + /** + * Filter which cities to update + */ + where?: Prisma.citiesWhereInput + /** + * Limit how many cities to update. + */ + limit?: number +} + +/** + * cities updateManyAndReturn + */ +export type citiesUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * The data used to update cities. + */ + data: Prisma.XOR + /** + * Filter which cities to update + */ + where?: Prisma.citiesWhereInput + /** + * Limit how many cities to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesIncludeUpdateManyAndReturn | null +} + +/** + * cities upsert + */ +export type citiesUpsertArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * The filter to search for the cities to update in case it exists. + */ + where: Prisma.citiesWhereUniqueInput + /** + * In case the cities found by the `where` argument doesn't exist, create a new cities with this data. + */ + create: Prisma.XOR + /** + * In case the cities was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * cities delete + */ +export type citiesDeleteArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + /** + * Filter which cities to delete. + */ + where: Prisma.citiesWhereUniqueInput +} + +/** + * cities deleteMany + */ +export type citiesDeleteManyArgs = { + /** + * Filter which cities to delete + */ + where?: Prisma.citiesWhereInput + /** + * Limit how many cities to delete. + */ + limit?: number +} + +/** + * cities without action + */ +export type citiesDefaultArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null +} diff --git a/backend/src/generated/prisma/models/comments.ts b/backend/src/generated/prisma/models/comments.ts new file mode 100644 index 0000000..6d4d5ac --- /dev/null +++ b/backend/src/generated/prisma/models/comments.ts @@ -0,0 +1,1805 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `comments` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model comments + * This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info. + */ +export type commentsModel = runtime.Types.Result.DefaultSelection + +export type AggregateComments = { + _count: CommentsCountAggregateOutputType | null + _avg: CommentsAvgAggregateOutputType | null + _sum: CommentsSumAggregateOutputType | null + _min: CommentsMinAggregateOutputType | null + _max: CommentsMaxAggregateOutputType | null +} + +export type CommentsAvgAggregateOutputType = { + score: number | null +} + +export type CommentsSumAggregateOutputType = { + score: number | null +} + +export type CommentsMinAggregateOutputType = { + id: string | null + author_id: string | null + destination_id: string | null + service_id: string | null + content: string | null + score: number | null + is_from_user: boolean | null + created_at: Date | null +} + +export type CommentsMaxAggregateOutputType = { + id: string | null + author_id: string | null + destination_id: string | null + service_id: string | null + content: string | null + score: number | null + is_from_user: boolean | null + created_at: Date | null +} + +export type CommentsCountAggregateOutputType = { + id: number + author_id: number + destination_id: number + service_id: number + content: number + score: number + is_from_user: number + created_at: number + _all: number +} + + +export type CommentsAvgAggregateInputType = { + score?: true +} + +export type CommentsSumAggregateInputType = { + score?: true +} + +export type CommentsMinAggregateInputType = { + id?: true + author_id?: true + destination_id?: true + service_id?: true + content?: true + score?: true + is_from_user?: true + created_at?: true +} + +export type CommentsMaxAggregateInputType = { + id?: true + author_id?: true + destination_id?: true + service_id?: true + content?: true + score?: true + is_from_user?: true + created_at?: true +} + +export type CommentsCountAggregateInputType = { + id?: true + author_id?: true + destination_id?: true + service_id?: true + content?: true + score?: true + is_from_user?: true + created_at?: true + _all?: true +} + +export type CommentsAggregateArgs = { + /** + * Filter which comments to aggregate. + */ + where?: Prisma.commentsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of comments to fetch. + */ + orderBy?: Prisma.commentsOrderByWithRelationInput | Prisma.commentsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.commentsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` comments 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` comments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned comments + **/ + _count?: true | CommentsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: CommentsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: CommentsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: CommentsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: CommentsMaxAggregateInputType +} + +export type GetCommentsAggregateType = { + [P in keyof T & keyof AggregateComments]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type commentsGroupByArgs = { + where?: Prisma.commentsWhereInput + orderBy?: Prisma.commentsOrderByWithAggregationInput | Prisma.commentsOrderByWithAggregationInput[] + by: Prisma.CommentsScalarFieldEnum[] | Prisma.CommentsScalarFieldEnum + having?: Prisma.commentsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: CommentsCountAggregateInputType | true + _avg?: CommentsAvgAggregateInputType + _sum?: CommentsSumAggregateInputType + _min?: CommentsMinAggregateInputType + _max?: CommentsMaxAggregateInputType +} + +export type CommentsGroupByOutputType = { + id: string + author_id: string + destination_id: string + service_id: string | null + content: string | null + score: number + is_from_user: boolean + created_at: Date + _count: CommentsCountAggregateOutputType | null + _avg: CommentsAvgAggregateOutputType | null + _sum: CommentsSumAggregateOutputType | null + _min: CommentsMinAggregateOutputType | null + _max: CommentsMaxAggregateOutputType | null +} + +export type GetCommentsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof CommentsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type commentsWhereInput = { + AND?: Prisma.commentsWhereInput | Prisma.commentsWhereInput[] + OR?: Prisma.commentsWhereInput[] + NOT?: Prisma.commentsWhereInput | Prisma.commentsWhereInput[] + id?: Prisma.UuidFilter<"comments"> | string + author_id?: Prisma.UuidFilter<"comments"> | string + destination_id?: Prisma.UuidFilter<"comments"> | string + service_id?: Prisma.UuidNullableFilter<"comments"> | string | null + content?: Prisma.StringNullableFilter<"comments"> | string | null + score?: Prisma.IntFilter<"comments"> | number + is_from_user?: Prisma.BoolFilter<"comments"> | boolean + created_at?: Prisma.DateTimeFilter<"comments"> | Date | string + users_comments_author_idTousers?: Prisma.XOR + users_comments_destination_idTousers?: Prisma.XOR + services?: Prisma.XOR | null +} + +export type commentsOrderByWithRelationInput = { + id?: Prisma.SortOrder + author_id?: Prisma.SortOrder + destination_id?: Prisma.SortOrder + service_id?: Prisma.SortOrderInput | Prisma.SortOrder + content?: Prisma.SortOrderInput | Prisma.SortOrder + score?: Prisma.SortOrder + is_from_user?: Prisma.SortOrder + created_at?: Prisma.SortOrder + users_comments_author_idTousers?: Prisma.usersOrderByWithRelationInput + users_comments_destination_idTousers?: Prisma.usersOrderByWithRelationInput + services?: Prisma.servicesOrderByWithRelationInput +} + +export type commentsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.commentsWhereInput | Prisma.commentsWhereInput[] + OR?: Prisma.commentsWhereInput[] + NOT?: Prisma.commentsWhereInput | Prisma.commentsWhereInput[] + author_id?: Prisma.UuidFilter<"comments"> | string + destination_id?: Prisma.UuidFilter<"comments"> | string + service_id?: Prisma.UuidNullableFilter<"comments"> | string | null + content?: Prisma.StringNullableFilter<"comments"> | string | null + score?: Prisma.IntFilter<"comments"> | number + is_from_user?: Prisma.BoolFilter<"comments"> | boolean + created_at?: Prisma.DateTimeFilter<"comments"> | Date | string + users_comments_author_idTousers?: Prisma.XOR + users_comments_destination_idTousers?: Prisma.XOR + services?: Prisma.XOR | null +}, "id"> + +export type commentsOrderByWithAggregationInput = { + id?: Prisma.SortOrder + author_id?: Prisma.SortOrder + destination_id?: Prisma.SortOrder + service_id?: Prisma.SortOrderInput | Prisma.SortOrder + content?: Prisma.SortOrderInput | Prisma.SortOrder + score?: Prisma.SortOrder + is_from_user?: Prisma.SortOrder + created_at?: Prisma.SortOrder + _count?: Prisma.commentsCountOrderByAggregateInput + _avg?: Prisma.commentsAvgOrderByAggregateInput + _max?: Prisma.commentsMaxOrderByAggregateInput + _min?: Prisma.commentsMinOrderByAggregateInput + _sum?: Prisma.commentsSumOrderByAggregateInput +} + +export type commentsScalarWhereWithAggregatesInput = { + AND?: Prisma.commentsScalarWhereWithAggregatesInput | Prisma.commentsScalarWhereWithAggregatesInput[] + OR?: Prisma.commentsScalarWhereWithAggregatesInput[] + NOT?: Prisma.commentsScalarWhereWithAggregatesInput | Prisma.commentsScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"comments"> | string + author_id?: Prisma.UuidWithAggregatesFilter<"comments"> | string + destination_id?: Prisma.UuidWithAggregatesFilter<"comments"> | string + service_id?: Prisma.UuidNullableWithAggregatesFilter<"comments"> | string | null + content?: Prisma.StringNullableWithAggregatesFilter<"comments"> | string | null + score?: Prisma.IntWithAggregatesFilter<"comments"> | number + is_from_user?: Prisma.BoolWithAggregatesFilter<"comments"> | boolean + created_at?: Prisma.DateTimeWithAggregatesFilter<"comments"> | Date | string +} + +export type commentsCreateInput = { + id?: string + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string + users_comments_author_idTousers: Prisma.usersCreateNestedOneWithoutComments_comments_author_idTousersInput + users_comments_destination_idTousers: Prisma.usersCreateNestedOneWithoutComments_comments_destination_idTousersInput + services?: Prisma.servicesCreateNestedOneWithoutCommentsInput +} + +export type commentsUncheckedCreateInput = { + id?: string + author_id: string + destination_id: string + service_id?: string | null + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string +} + +export type commentsUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users_comments_author_idTousers?: Prisma.usersUpdateOneRequiredWithoutComments_comments_author_idTousersNestedInput + users_comments_destination_idTousers?: Prisma.usersUpdateOneRequiredWithoutComments_comments_destination_idTousersNestedInput + services?: Prisma.servicesUpdateOneWithoutCommentsNestedInput +} + +export type commentsUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + author_id?: Prisma.StringFieldUpdateOperationsInput | string + destination_id?: Prisma.StringFieldUpdateOperationsInput | string + service_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type commentsCreateManyInput = { + id?: string + author_id: string + destination_id: string + service_id?: string | null + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string +} + +export type commentsUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type commentsUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + author_id?: Prisma.StringFieldUpdateOperationsInput | string + destination_id?: Prisma.StringFieldUpdateOperationsInput | string + service_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type commentsCountOrderByAggregateInput = { + id?: Prisma.SortOrder + author_id?: Prisma.SortOrder + destination_id?: Prisma.SortOrder + service_id?: Prisma.SortOrder + content?: Prisma.SortOrder + score?: Prisma.SortOrder + is_from_user?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type commentsAvgOrderByAggregateInput = { + score?: Prisma.SortOrder +} + +export type commentsMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + author_id?: Prisma.SortOrder + destination_id?: Prisma.SortOrder + service_id?: Prisma.SortOrder + content?: Prisma.SortOrder + score?: Prisma.SortOrder + is_from_user?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type commentsMinOrderByAggregateInput = { + id?: Prisma.SortOrder + author_id?: Prisma.SortOrder + destination_id?: Prisma.SortOrder + service_id?: Prisma.SortOrder + content?: Prisma.SortOrder + score?: Prisma.SortOrder + is_from_user?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type commentsSumOrderByAggregateInput = { + score?: Prisma.SortOrder +} + +export type CommentsListRelationFilter = { + every?: Prisma.commentsWhereInput + some?: Prisma.commentsWhereInput + none?: Prisma.commentsWhereInput +} + +export type commentsOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type NullableStringFieldUpdateOperationsInput = { + set?: string | null +} + +export type IntFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type BoolFieldUpdateOperationsInput = { + set?: boolean +} + +export type commentsCreateNestedManyWithoutServicesInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutServicesInput[] | Prisma.commentsUncheckedCreateWithoutServicesInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutServicesInput | Prisma.commentsCreateOrConnectWithoutServicesInput[] + createMany?: Prisma.commentsCreateManyServicesInputEnvelope + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] +} + +export type commentsUncheckedCreateNestedManyWithoutServicesInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutServicesInput[] | Prisma.commentsUncheckedCreateWithoutServicesInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutServicesInput | Prisma.commentsCreateOrConnectWithoutServicesInput[] + createMany?: Prisma.commentsCreateManyServicesInputEnvelope + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] +} + +export type commentsUpdateManyWithoutServicesNestedInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutServicesInput[] | Prisma.commentsUncheckedCreateWithoutServicesInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutServicesInput | Prisma.commentsCreateOrConnectWithoutServicesInput[] + upsert?: Prisma.commentsUpsertWithWhereUniqueWithoutServicesInput | Prisma.commentsUpsertWithWhereUniqueWithoutServicesInput[] + createMany?: Prisma.commentsCreateManyServicesInputEnvelope + set?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + disconnect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + delete?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + update?: Prisma.commentsUpdateWithWhereUniqueWithoutServicesInput | Prisma.commentsUpdateWithWhereUniqueWithoutServicesInput[] + updateMany?: Prisma.commentsUpdateManyWithWhereWithoutServicesInput | Prisma.commentsUpdateManyWithWhereWithoutServicesInput[] + deleteMany?: Prisma.commentsScalarWhereInput | Prisma.commentsScalarWhereInput[] +} + +export type commentsUncheckedUpdateManyWithoutServicesNestedInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutServicesInput[] | Prisma.commentsUncheckedCreateWithoutServicesInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutServicesInput | Prisma.commentsCreateOrConnectWithoutServicesInput[] + upsert?: Prisma.commentsUpsertWithWhereUniqueWithoutServicesInput | Prisma.commentsUpsertWithWhereUniqueWithoutServicesInput[] + createMany?: Prisma.commentsCreateManyServicesInputEnvelope + set?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + disconnect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + delete?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + update?: Prisma.commentsUpdateWithWhereUniqueWithoutServicesInput | Prisma.commentsUpdateWithWhereUniqueWithoutServicesInput[] + updateMany?: Prisma.commentsUpdateManyWithWhereWithoutServicesInput | Prisma.commentsUpdateManyWithWhereWithoutServicesInput[] + deleteMany?: Prisma.commentsScalarWhereInput | Prisma.commentsScalarWhereInput[] +} + +export type commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutUsers_comments_author_idTousersInput[] | Prisma.commentsUncheckedCreateWithoutUsers_comments_author_idTousersInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput | Prisma.commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput[] + createMany?: Prisma.commentsCreateManyUsers_comments_author_idTousersInputEnvelope + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] +} + +export type commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutUsers_comments_destination_idTousersInput[] | Prisma.commentsUncheckedCreateWithoutUsers_comments_destination_idTousersInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput | Prisma.commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput[] + createMany?: Prisma.commentsCreateManyUsers_comments_destination_idTousersInputEnvelope + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] +} + +export type commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutUsers_comments_author_idTousersInput[] | Prisma.commentsUncheckedCreateWithoutUsers_comments_author_idTousersInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput | Prisma.commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput[] + createMany?: Prisma.commentsCreateManyUsers_comments_author_idTousersInputEnvelope + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] +} + +export type commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutUsers_comments_destination_idTousersInput[] | Prisma.commentsUncheckedCreateWithoutUsers_comments_destination_idTousersInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput | Prisma.commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput[] + createMany?: Prisma.commentsCreateManyUsers_comments_destination_idTousersInputEnvelope + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] +} + +export type commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutUsers_comments_author_idTousersInput[] | Prisma.commentsUncheckedCreateWithoutUsers_comments_author_idTousersInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput | Prisma.commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput[] + upsert?: Prisma.commentsUpsertWithWhereUniqueWithoutUsers_comments_author_idTousersInput | Prisma.commentsUpsertWithWhereUniqueWithoutUsers_comments_author_idTousersInput[] + createMany?: Prisma.commentsCreateManyUsers_comments_author_idTousersInputEnvelope + set?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + disconnect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + delete?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + update?: Prisma.commentsUpdateWithWhereUniqueWithoutUsers_comments_author_idTousersInput | Prisma.commentsUpdateWithWhereUniqueWithoutUsers_comments_author_idTousersInput[] + updateMany?: Prisma.commentsUpdateManyWithWhereWithoutUsers_comments_author_idTousersInput | Prisma.commentsUpdateManyWithWhereWithoutUsers_comments_author_idTousersInput[] + deleteMany?: Prisma.commentsScalarWhereInput | Prisma.commentsScalarWhereInput[] +} + +export type commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutUsers_comments_destination_idTousersInput[] | Prisma.commentsUncheckedCreateWithoutUsers_comments_destination_idTousersInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput | Prisma.commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput[] + upsert?: Prisma.commentsUpsertWithWhereUniqueWithoutUsers_comments_destination_idTousersInput | Prisma.commentsUpsertWithWhereUniqueWithoutUsers_comments_destination_idTousersInput[] + createMany?: Prisma.commentsCreateManyUsers_comments_destination_idTousersInputEnvelope + set?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + disconnect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + delete?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + update?: Prisma.commentsUpdateWithWhereUniqueWithoutUsers_comments_destination_idTousersInput | Prisma.commentsUpdateWithWhereUniqueWithoutUsers_comments_destination_idTousersInput[] + updateMany?: Prisma.commentsUpdateManyWithWhereWithoutUsers_comments_destination_idTousersInput | Prisma.commentsUpdateManyWithWhereWithoutUsers_comments_destination_idTousersInput[] + deleteMany?: Prisma.commentsScalarWhereInput | Prisma.commentsScalarWhereInput[] +} + +export type commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutUsers_comments_author_idTousersInput[] | Prisma.commentsUncheckedCreateWithoutUsers_comments_author_idTousersInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput | Prisma.commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput[] + upsert?: Prisma.commentsUpsertWithWhereUniqueWithoutUsers_comments_author_idTousersInput | Prisma.commentsUpsertWithWhereUniqueWithoutUsers_comments_author_idTousersInput[] + createMany?: Prisma.commentsCreateManyUsers_comments_author_idTousersInputEnvelope + set?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + disconnect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + delete?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + update?: Prisma.commentsUpdateWithWhereUniqueWithoutUsers_comments_author_idTousersInput | Prisma.commentsUpdateWithWhereUniqueWithoutUsers_comments_author_idTousersInput[] + updateMany?: Prisma.commentsUpdateManyWithWhereWithoutUsers_comments_author_idTousersInput | Prisma.commentsUpdateManyWithWhereWithoutUsers_comments_author_idTousersInput[] + deleteMany?: Prisma.commentsScalarWhereInput | Prisma.commentsScalarWhereInput[] +} + +export type commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput = { + create?: Prisma.XOR | Prisma.commentsCreateWithoutUsers_comments_destination_idTousersInput[] | Prisma.commentsUncheckedCreateWithoutUsers_comments_destination_idTousersInput[] + connectOrCreate?: Prisma.commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput | Prisma.commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput[] + upsert?: Prisma.commentsUpsertWithWhereUniqueWithoutUsers_comments_destination_idTousersInput | Prisma.commentsUpsertWithWhereUniqueWithoutUsers_comments_destination_idTousersInput[] + createMany?: Prisma.commentsCreateManyUsers_comments_destination_idTousersInputEnvelope + set?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + disconnect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + delete?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + connect?: Prisma.commentsWhereUniqueInput | Prisma.commentsWhereUniqueInput[] + update?: Prisma.commentsUpdateWithWhereUniqueWithoutUsers_comments_destination_idTousersInput | Prisma.commentsUpdateWithWhereUniqueWithoutUsers_comments_destination_idTousersInput[] + updateMany?: Prisma.commentsUpdateManyWithWhereWithoutUsers_comments_destination_idTousersInput | Prisma.commentsUpdateManyWithWhereWithoutUsers_comments_destination_idTousersInput[] + deleteMany?: Prisma.commentsScalarWhereInput | Prisma.commentsScalarWhereInput[] +} + +export type commentsCreateWithoutServicesInput = { + id?: string + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string + users_comments_author_idTousers: Prisma.usersCreateNestedOneWithoutComments_comments_author_idTousersInput + users_comments_destination_idTousers: Prisma.usersCreateNestedOneWithoutComments_comments_destination_idTousersInput +} + +export type commentsUncheckedCreateWithoutServicesInput = { + id?: string + author_id: string + destination_id: string + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string +} + +export type commentsCreateOrConnectWithoutServicesInput = { + where: Prisma.commentsWhereUniqueInput + create: Prisma.XOR +} + +export type commentsCreateManyServicesInputEnvelope = { + data: Prisma.commentsCreateManyServicesInput | Prisma.commentsCreateManyServicesInput[] + skipDuplicates?: boolean +} + +export type commentsUpsertWithWhereUniqueWithoutServicesInput = { + where: Prisma.commentsWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type commentsUpdateWithWhereUniqueWithoutServicesInput = { + where: Prisma.commentsWhereUniqueInput + data: Prisma.XOR +} + +export type commentsUpdateManyWithWhereWithoutServicesInput = { + where: Prisma.commentsScalarWhereInput + data: Prisma.XOR +} + +export type commentsScalarWhereInput = { + AND?: Prisma.commentsScalarWhereInput | Prisma.commentsScalarWhereInput[] + OR?: Prisma.commentsScalarWhereInput[] + NOT?: Prisma.commentsScalarWhereInput | Prisma.commentsScalarWhereInput[] + id?: Prisma.UuidFilter<"comments"> | string + author_id?: Prisma.UuidFilter<"comments"> | string + destination_id?: Prisma.UuidFilter<"comments"> | string + service_id?: Prisma.UuidNullableFilter<"comments"> | string | null + content?: Prisma.StringNullableFilter<"comments"> | string | null + score?: Prisma.IntFilter<"comments"> | number + is_from_user?: Prisma.BoolFilter<"comments"> | boolean + created_at?: Prisma.DateTimeFilter<"comments"> | Date | string +} + +export type commentsCreateWithoutUsers_comments_author_idTousersInput = { + id?: string + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string + users_comments_destination_idTousers: Prisma.usersCreateNestedOneWithoutComments_comments_destination_idTousersInput + services?: Prisma.servicesCreateNestedOneWithoutCommentsInput +} + +export type commentsUncheckedCreateWithoutUsers_comments_author_idTousersInput = { + id?: string + destination_id: string + service_id?: string | null + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string +} + +export type commentsCreateOrConnectWithoutUsers_comments_author_idTousersInput = { + where: Prisma.commentsWhereUniqueInput + create: Prisma.XOR +} + +export type commentsCreateManyUsers_comments_author_idTousersInputEnvelope = { + data: Prisma.commentsCreateManyUsers_comments_author_idTousersInput | Prisma.commentsCreateManyUsers_comments_author_idTousersInput[] + skipDuplicates?: boolean +} + +export type commentsCreateWithoutUsers_comments_destination_idTousersInput = { + id?: string + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string + users_comments_author_idTousers: Prisma.usersCreateNestedOneWithoutComments_comments_author_idTousersInput + services?: Prisma.servicesCreateNestedOneWithoutCommentsInput +} + +export type commentsUncheckedCreateWithoutUsers_comments_destination_idTousersInput = { + id?: string + author_id: string + service_id?: string | null + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string +} + +export type commentsCreateOrConnectWithoutUsers_comments_destination_idTousersInput = { + where: Prisma.commentsWhereUniqueInput + create: Prisma.XOR +} + +export type commentsCreateManyUsers_comments_destination_idTousersInputEnvelope = { + data: Prisma.commentsCreateManyUsers_comments_destination_idTousersInput | Prisma.commentsCreateManyUsers_comments_destination_idTousersInput[] + skipDuplicates?: boolean +} + +export type commentsUpsertWithWhereUniqueWithoutUsers_comments_author_idTousersInput = { + where: Prisma.commentsWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type commentsUpdateWithWhereUniqueWithoutUsers_comments_author_idTousersInput = { + where: Prisma.commentsWhereUniqueInput + data: Prisma.XOR +} + +export type commentsUpdateManyWithWhereWithoutUsers_comments_author_idTousersInput = { + where: Prisma.commentsScalarWhereInput + data: Prisma.XOR +} + +export type commentsUpsertWithWhereUniqueWithoutUsers_comments_destination_idTousersInput = { + where: Prisma.commentsWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type commentsUpdateWithWhereUniqueWithoutUsers_comments_destination_idTousersInput = { + where: Prisma.commentsWhereUniqueInput + data: Prisma.XOR +} + +export type commentsUpdateManyWithWhereWithoutUsers_comments_destination_idTousersInput = { + where: Prisma.commentsScalarWhereInput + data: Prisma.XOR +} + +export type commentsCreateManyServicesInput = { + id?: string + author_id: string + destination_id: string + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string +} + +export type commentsUpdateWithoutServicesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users_comments_author_idTousers?: Prisma.usersUpdateOneRequiredWithoutComments_comments_author_idTousersNestedInput + users_comments_destination_idTousers?: Prisma.usersUpdateOneRequiredWithoutComments_comments_destination_idTousersNestedInput +} + +export type commentsUncheckedUpdateWithoutServicesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + author_id?: Prisma.StringFieldUpdateOperationsInput | string + destination_id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type commentsUncheckedUpdateManyWithoutServicesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + author_id?: Prisma.StringFieldUpdateOperationsInput | string + destination_id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type commentsCreateManyUsers_comments_author_idTousersInput = { + id?: string + destination_id: string + service_id?: string | null + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string +} + +export type commentsCreateManyUsers_comments_destination_idTousersInput = { + id?: string + author_id: string + service_id?: string | null + content?: string | null + score: number + is_from_user?: boolean + created_at?: Date | string +} + +export type commentsUpdateWithoutUsers_comments_author_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users_comments_destination_idTousers?: Prisma.usersUpdateOneRequiredWithoutComments_comments_destination_idTousersNestedInput + services?: Prisma.servicesUpdateOneWithoutCommentsNestedInput +} + +export type commentsUncheckedUpdateWithoutUsers_comments_author_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + destination_id?: Prisma.StringFieldUpdateOperationsInput | string + service_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + destination_id?: Prisma.StringFieldUpdateOperationsInput | string + service_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type commentsUpdateWithoutUsers_comments_destination_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users_comments_author_idTousers?: Prisma.usersUpdateOneRequiredWithoutComments_comments_author_idTousersNestedInput + services?: Prisma.servicesUpdateOneWithoutCommentsNestedInput +} + +export type commentsUncheckedUpdateWithoutUsers_comments_destination_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + author_id?: Prisma.StringFieldUpdateOperationsInput | string + service_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + author_id?: Prisma.StringFieldUpdateOperationsInput | string + service_id?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + content?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + score?: Prisma.IntFieldUpdateOperationsInput | number + is_from_user?: Prisma.BoolFieldUpdateOperationsInput | boolean + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + + +export type commentsSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + author_id?: boolean + destination_id?: boolean + service_id?: boolean + content?: boolean + score?: boolean + is_from_user?: boolean + created_at?: boolean + users_comments_author_idTousers?: boolean | Prisma.usersDefaultArgs + users_comments_destination_idTousers?: boolean | Prisma.usersDefaultArgs + services?: boolean | Prisma.comments$servicesArgs +}, ExtArgs["result"]["comments"]> + +export type commentsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + author_id?: boolean + destination_id?: boolean + service_id?: boolean + content?: boolean + score?: boolean + is_from_user?: boolean + created_at?: boolean + users_comments_author_idTousers?: boolean | Prisma.usersDefaultArgs + users_comments_destination_idTousers?: boolean | Prisma.usersDefaultArgs + services?: boolean | Prisma.comments$servicesArgs +}, ExtArgs["result"]["comments"]> + +export type commentsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + author_id?: boolean + destination_id?: boolean + service_id?: boolean + content?: boolean + score?: boolean + is_from_user?: boolean + created_at?: boolean + users_comments_author_idTousers?: boolean | Prisma.usersDefaultArgs + users_comments_destination_idTousers?: boolean | Prisma.usersDefaultArgs + services?: boolean | Prisma.comments$servicesArgs +}, ExtArgs["result"]["comments"]> + +export type commentsSelectScalar = { + id?: boolean + author_id?: boolean + destination_id?: boolean + service_id?: boolean + content?: boolean + score?: boolean + is_from_user?: boolean + created_at?: boolean +} + +export type commentsOmit = runtime.Types.Extensions.GetOmit<"id" | "author_id" | "destination_id" | "service_id" | "content" | "score" | "is_from_user" | "created_at", ExtArgs["result"]["comments"]> +export type commentsInclude = { + users_comments_author_idTousers?: boolean | Prisma.usersDefaultArgs + users_comments_destination_idTousers?: boolean | Prisma.usersDefaultArgs + services?: boolean | Prisma.comments$servicesArgs +} +export type commentsIncludeCreateManyAndReturn = { + users_comments_author_idTousers?: boolean | Prisma.usersDefaultArgs + users_comments_destination_idTousers?: boolean | Prisma.usersDefaultArgs + services?: boolean | Prisma.comments$servicesArgs +} +export type commentsIncludeUpdateManyAndReturn = { + users_comments_author_idTousers?: boolean | Prisma.usersDefaultArgs + users_comments_destination_idTousers?: boolean | Prisma.usersDefaultArgs + services?: boolean | Prisma.comments$servicesArgs +} + +export type $commentsPayload = { + name: "comments" + objects: { + users_comments_author_idTousers: Prisma.$usersPayload + users_comments_destination_idTousers: Prisma.$usersPayload + services: Prisma.$servicesPayload | null + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + author_id: string + destination_id: string + service_id: string | null + content: string | null + score: number + is_from_user: boolean + created_at: Date + }, ExtArgs["result"]["comments"]> + composites: {} +} + +export type commentsGetPayload = runtime.Types.Result.GetResult + +export type commentsCountArgs = + Omit & { + select?: CommentsCountAggregateInputType | true + } + +export interface commentsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['comments'], meta: { name: 'comments' } } + /** + * Find zero or one Comments that matches the filter. + * @param {commentsFindUniqueArgs} args - Arguments to find a Comments + * @example + * // Get one Comments + * const comments = await prisma.comments.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__commentsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Comments that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {commentsFindUniqueOrThrowArgs} args - Arguments to find a Comments + * @example + * // Get one Comments + * const comments = await prisma.comments.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__commentsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Comments 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 {commentsFindFirstArgs} args - Arguments to find a Comments + * @example + * // Get one Comments + * const comments = await prisma.comments.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__commentsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Comments 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 {commentsFindFirstOrThrowArgs} args - Arguments to find a Comments + * @example + * // Get one Comments + * const comments = await prisma.comments.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__commentsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Comments 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 {commentsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Comments + * const comments = await prisma.comments.findMany() + * + * // Get first 10 Comments + * const comments = await prisma.comments.findMany({ take: 10 }) + * + * // Only select the `id` + * const commentsWithIdOnly = await prisma.comments.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Comments. + * @param {commentsCreateArgs} args - Arguments to create a Comments. + * @example + * // Create one Comments + * const Comments = await prisma.comments.create({ + * data: { + * // ... data to create a Comments + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__commentsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Comments. + * @param {commentsCreateManyArgs} args - Arguments to create many Comments. + * @example + * // Create many Comments + * const comments = await prisma.comments.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Comments and returns the data saved in the database. + * @param {commentsCreateManyAndReturnArgs} args - Arguments to create many Comments. + * @example + * // Create many Comments + * const comments = await prisma.comments.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Comments and only return the `id` + * const commentsWithIdOnly = await prisma.comments.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 Comments. + * @param {commentsDeleteArgs} args - Arguments to delete one Comments. + * @example + * // Delete one Comments + * const Comments = await prisma.comments.delete({ + * where: { + * // ... filter to delete one Comments + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__commentsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Comments. + * @param {commentsUpdateArgs} args - Arguments to update one Comments. + * @example + * // Update one Comments + * const comments = await prisma.comments.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__commentsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Comments. + * @param {commentsDeleteManyArgs} args - Arguments to filter Comments to delete. + * @example + * // Delete a few Comments + * const { count } = await prisma.comments.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Comments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {commentsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Comments + * const comments = await prisma.comments.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Comments and returns the data updated in the database. + * @param {commentsUpdateManyAndReturnArgs} args - Arguments to update many Comments. + * @example + * // Update many Comments + * const comments = await prisma.comments.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Comments and only return the `id` + * const commentsWithIdOnly = await prisma.comments.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 Comments. + * @param {commentsUpsertArgs} args - Arguments to update or create a Comments. + * @example + * // Update or create a Comments + * const comments = await prisma.comments.upsert({ + * create: { + * // ... data to create a Comments + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Comments we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__commentsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Comments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {commentsCountArgs} args - Arguments to filter Comments to count. + * @example + * // Count the number of Comments + * const count = await prisma.comments.count({ + * where: { + * // ... the filter for the Comments 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 Comments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CommentsAggregateArgs} 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 Comments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {commentsGroupByArgs} 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 commentsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: commentsGroupByArgs['orderBy'] } + : { orderBy?: commentsGroupByArgs['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 ? GetCommentsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the comments model + */ +readonly fields: commentsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for comments. + * 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__commentsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + users_comments_author_idTousers = {}>(args?: Prisma.Subset>): Prisma.Prisma__usersClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + users_comments_destination_idTousers = {}>(args?: Prisma.Subset>): Prisma.Prisma__usersClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + services = {}>(args?: Prisma.Subset>): Prisma.Prisma__servicesClient, 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 comments model + */ +export interface commentsFieldRefs { + readonly id: Prisma.FieldRef<"comments", 'String'> + readonly author_id: Prisma.FieldRef<"comments", 'String'> + readonly destination_id: Prisma.FieldRef<"comments", 'String'> + readonly service_id: Prisma.FieldRef<"comments", 'String'> + readonly content: Prisma.FieldRef<"comments", 'String'> + readonly score: Prisma.FieldRef<"comments", 'Int'> + readonly is_from_user: Prisma.FieldRef<"comments", 'Boolean'> + readonly created_at: Prisma.FieldRef<"comments", 'DateTime'> +} + + +// Custom InputTypes +/** + * comments findUnique + */ +export type commentsFindUniqueArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * Filter, which comments to fetch. + */ + where: Prisma.commentsWhereUniqueInput +} + +/** + * comments findUniqueOrThrow + */ +export type commentsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * Filter, which comments to fetch. + */ + where: Prisma.commentsWhereUniqueInput +} + +/** + * comments findFirst + */ +export type commentsFindFirstArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * Filter, which comments to fetch. + */ + where?: Prisma.commentsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of comments to fetch. + */ + orderBy?: Prisma.commentsOrderByWithRelationInput | Prisma.commentsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for comments. + */ + cursor?: Prisma.commentsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` comments 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` comments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of comments. + */ + distinct?: Prisma.CommentsScalarFieldEnum | Prisma.CommentsScalarFieldEnum[] +} + +/** + * comments findFirstOrThrow + */ +export type commentsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * Filter, which comments to fetch. + */ + where?: Prisma.commentsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of comments to fetch. + */ + orderBy?: Prisma.commentsOrderByWithRelationInput | Prisma.commentsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for comments. + */ + cursor?: Prisma.commentsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` comments 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` comments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of comments. + */ + distinct?: Prisma.CommentsScalarFieldEnum | Prisma.CommentsScalarFieldEnum[] +} + +/** + * comments findMany + */ +export type commentsFindManyArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * Filter, which comments to fetch. + */ + where?: Prisma.commentsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of comments to fetch. + */ + orderBy?: Prisma.commentsOrderByWithRelationInput | Prisma.commentsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing comments. + */ + cursor?: Prisma.commentsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` comments 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` comments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of comments. + */ + distinct?: Prisma.CommentsScalarFieldEnum | Prisma.CommentsScalarFieldEnum[] +} + +/** + * comments create + */ +export type commentsCreateArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * The data needed to create a comments. + */ + data: Prisma.XOR +} + +/** + * comments createMany + */ +export type commentsCreateManyArgs = { + /** + * The data used to create many comments. + */ + data: Prisma.commentsCreateManyInput | Prisma.commentsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * comments createManyAndReturn + */ +export type commentsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * The data used to create many comments. + */ + data: Prisma.commentsCreateManyInput | Prisma.commentsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsIncludeCreateManyAndReturn | null +} + +/** + * comments update + */ +export type commentsUpdateArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * The data needed to update a comments. + */ + data: Prisma.XOR + /** + * Choose, which comments to update. + */ + where: Prisma.commentsWhereUniqueInput +} + +/** + * comments updateMany + */ +export type commentsUpdateManyArgs = { + /** + * The data used to update comments. + */ + data: Prisma.XOR + /** + * Filter which comments to update + */ + where?: Prisma.commentsWhereInput + /** + * Limit how many comments to update. + */ + limit?: number +} + +/** + * comments updateManyAndReturn + */ +export type commentsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * The data used to update comments. + */ + data: Prisma.XOR + /** + * Filter which comments to update + */ + where?: Prisma.commentsWhereInput + /** + * Limit how many comments to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsIncludeUpdateManyAndReturn | null +} + +/** + * comments upsert + */ +export type commentsUpsertArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * The filter to search for the comments to update in case it exists. + */ + where: Prisma.commentsWhereUniqueInput + /** + * In case the comments found by the `where` argument doesn't exist, create a new comments with this data. + */ + create: Prisma.XOR + /** + * In case the comments was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * comments delete + */ +export type commentsDeleteArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + /** + * Filter which comments to delete. + */ + where: Prisma.commentsWhereUniqueInput +} + +/** + * comments deleteMany + */ +export type commentsDeleteManyArgs = { + /** + * Filter which comments to delete + */ + where?: Prisma.commentsWhereInput + /** + * Limit how many comments to delete. + */ + limit?: number +} + +/** + * comments.services + */ +export type comments$servicesArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + where?: Prisma.servicesWhereInput +} + +/** + * comments without action + */ +export type commentsDefaultArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null +} diff --git a/backend/src/generated/prisma/models/countries.ts b/backend/src/generated/prisma/models/countries.ts new file mode 100644 index 0000000..9c6bc1d --- /dev/null +++ b/backend/src/generated/prisma/models/countries.ts @@ -0,0 +1,1231 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `countries` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model countries + * + */ +export type countriesModel = runtime.Types.Result.DefaultSelection + +export type AggregateCountries = { + _count: CountriesCountAggregateOutputType | null + _min: CountriesMinAggregateOutputType | null + _max: CountriesMaxAggregateOutputType | null +} + +export type CountriesMinAggregateOutputType = { + id: string | null + name: string | null +} + +export type CountriesMaxAggregateOutputType = { + id: string | null + name: string | null +} + +export type CountriesCountAggregateOutputType = { + id: number + name: number + _all: number +} + + +export type CountriesMinAggregateInputType = { + id?: true + name?: true +} + +export type CountriesMaxAggregateInputType = { + id?: true + name?: true +} + +export type CountriesCountAggregateInputType = { + id?: true + name?: true + _all?: true +} + +export type CountriesAggregateArgs = { + /** + * Filter which countries to aggregate. + */ + where?: Prisma.countriesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of countries to fetch. + */ + orderBy?: Prisma.countriesOrderByWithRelationInput | Prisma.countriesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.countriesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` countries 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` countries. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned countries + **/ + _count?: true | CountriesCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: CountriesMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: CountriesMaxAggregateInputType +} + +export type GetCountriesAggregateType = { + [P in keyof T & keyof AggregateCountries]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type countriesGroupByArgs = { + where?: Prisma.countriesWhereInput + orderBy?: Prisma.countriesOrderByWithAggregationInput | Prisma.countriesOrderByWithAggregationInput[] + by: Prisma.CountriesScalarFieldEnum[] | Prisma.CountriesScalarFieldEnum + having?: Prisma.countriesScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: CountriesCountAggregateInputType | true + _min?: CountriesMinAggregateInputType + _max?: CountriesMaxAggregateInputType +} + +export type CountriesGroupByOutputType = { + id: string + name: string + _count: CountriesCountAggregateOutputType | null + _min: CountriesMinAggregateOutputType | null + _max: CountriesMaxAggregateOutputType | null +} + +export type GetCountriesGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof CountriesGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type countriesWhereInput = { + AND?: Prisma.countriesWhereInput | Prisma.countriesWhereInput[] + OR?: Prisma.countriesWhereInput[] + NOT?: Prisma.countriesWhereInput | Prisma.countriesWhereInput[] + id?: Prisma.UuidFilter<"countries"> | string + name?: Prisma.StringFilter<"countries"> | string + regions?: Prisma.RegionsListRelationFilter +} + +export type countriesOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + regions?: Prisma.regionsOrderByRelationAggregateInput +} + +export type countriesWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name?: string + AND?: Prisma.countriesWhereInput | Prisma.countriesWhereInput[] + OR?: Prisma.countriesWhereInput[] + NOT?: Prisma.countriesWhereInput | Prisma.countriesWhereInput[] + regions?: Prisma.RegionsListRelationFilter +}, "id" | "name"> + +export type countriesOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + _count?: Prisma.countriesCountOrderByAggregateInput + _max?: Prisma.countriesMaxOrderByAggregateInput + _min?: Prisma.countriesMinOrderByAggregateInput +} + +export type countriesScalarWhereWithAggregatesInput = { + AND?: Prisma.countriesScalarWhereWithAggregatesInput | Prisma.countriesScalarWhereWithAggregatesInput[] + OR?: Prisma.countriesScalarWhereWithAggregatesInput[] + NOT?: Prisma.countriesScalarWhereWithAggregatesInput | Prisma.countriesScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"countries"> | string + name?: Prisma.StringWithAggregatesFilter<"countries"> | string +} + +export type countriesCreateInput = { + id?: string + name: string + regions?: Prisma.regionsCreateNestedManyWithoutCountriesInput +} + +export type countriesUncheckedCreateInput = { + id?: string + name: string + regions?: Prisma.regionsUncheckedCreateNestedManyWithoutCountriesInput +} + +export type countriesUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + regions?: Prisma.regionsUpdateManyWithoutCountriesNestedInput +} + +export type countriesUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + regions?: Prisma.regionsUncheckedUpdateManyWithoutCountriesNestedInput +} + +export type countriesCreateManyInput = { + id?: string + name: string +} + +export type countriesUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type countriesUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type countriesCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type countriesMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type countriesMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type CountriesScalarRelationFilter = { + is?: Prisma.countriesWhereInput + isNot?: Prisma.countriesWhereInput +} + +export type countriesCreateNestedOneWithoutRegionsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.countriesCreateOrConnectWithoutRegionsInput + connect?: Prisma.countriesWhereUniqueInput +} + +export type countriesUpdateOneRequiredWithoutRegionsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.countriesCreateOrConnectWithoutRegionsInput + upsert?: Prisma.countriesUpsertWithoutRegionsInput + connect?: Prisma.countriesWhereUniqueInput + update?: Prisma.XOR, Prisma.countriesUncheckedUpdateWithoutRegionsInput> +} + +export type countriesCreateWithoutRegionsInput = { + id?: string + name: string +} + +export type countriesUncheckedCreateWithoutRegionsInput = { + id?: string + name: string +} + +export type countriesCreateOrConnectWithoutRegionsInput = { + where: Prisma.countriesWhereUniqueInput + create: Prisma.XOR +} + +export type countriesUpsertWithoutRegionsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.countriesWhereInput +} + +export type countriesUpdateToOneWithWhereWithoutRegionsInput = { + where?: Prisma.countriesWhereInput + data: Prisma.XOR +} + +export type countriesUpdateWithoutRegionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type countriesUncheckedUpdateWithoutRegionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + + +/** + * Count Type CountriesCountOutputType + */ + +export type CountriesCountOutputType = { + regions: number +} + +export type CountriesCountOutputTypeSelect = { + regions?: boolean | CountriesCountOutputTypeCountRegionsArgs +} + +/** + * CountriesCountOutputType without action + */ +export type CountriesCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the CountriesCountOutputType + */ + select?: Prisma.CountriesCountOutputTypeSelect | null +} + +/** + * CountriesCountOutputType without action + */ +export type CountriesCountOutputTypeCountRegionsArgs = { + where?: Prisma.regionsWhereInput +} + + +export type countriesSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + regions?: boolean | Prisma.countries$regionsArgs + _count?: boolean | Prisma.CountriesCountOutputTypeDefaultArgs +}, ExtArgs["result"]["countries"]> + +export type countriesSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["countries"]> + +export type countriesSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["countries"]> + +export type countriesSelectScalar = { + id?: boolean + name?: boolean +} + +export type countriesOmit = runtime.Types.Extensions.GetOmit<"id" | "name", ExtArgs["result"]["countries"]> +export type countriesInclude = { + regions?: boolean | Prisma.countries$regionsArgs + _count?: boolean | Prisma.CountriesCountOutputTypeDefaultArgs +} +export type countriesIncludeCreateManyAndReturn = {} +export type countriesIncludeUpdateManyAndReturn = {} + +export type $countriesPayload = { + name: "countries" + objects: { + regions: Prisma.$regionsPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + }, ExtArgs["result"]["countries"]> + composites: {} +} + +export type countriesGetPayload = runtime.Types.Result.GetResult + +export type countriesCountArgs = + Omit & { + select?: CountriesCountAggregateInputType | true + } + +export interface countriesDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['countries'], meta: { name: 'countries' } } + /** + * Find zero or one Countries that matches the filter. + * @param {countriesFindUniqueArgs} args - Arguments to find a Countries + * @example + * // Get one Countries + * const countries = await prisma.countries.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__countriesClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Countries that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {countriesFindUniqueOrThrowArgs} args - Arguments to find a Countries + * @example + * // Get one Countries + * const countries = await prisma.countries.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__countriesClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Countries 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 {countriesFindFirstArgs} args - Arguments to find a Countries + * @example + * // Get one Countries + * const countries = await prisma.countries.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__countriesClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Countries 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 {countriesFindFirstOrThrowArgs} args - Arguments to find a Countries + * @example + * // Get one Countries + * const countries = await prisma.countries.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__countriesClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Countries 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 {countriesFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Countries + * const countries = await prisma.countries.findMany() + * + * // Get first 10 Countries + * const countries = await prisma.countries.findMany({ take: 10 }) + * + * // Only select the `id` + * const countriesWithIdOnly = await prisma.countries.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Countries. + * @param {countriesCreateArgs} args - Arguments to create a Countries. + * @example + * // Create one Countries + * const Countries = await prisma.countries.create({ + * data: { + * // ... data to create a Countries + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__countriesClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Countries. + * @param {countriesCreateManyArgs} args - Arguments to create many Countries. + * @example + * // Create many Countries + * const countries = await prisma.countries.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Countries and returns the data saved in the database. + * @param {countriesCreateManyAndReturnArgs} args - Arguments to create many Countries. + * @example + * // Create many Countries + * const countries = await prisma.countries.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Countries and only return the `id` + * const countriesWithIdOnly = await prisma.countries.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 Countries. + * @param {countriesDeleteArgs} args - Arguments to delete one Countries. + * @example + * // Delete one Countries + * const Countries = await prisma.countries.delete({ + * where: { + * // ... filter to delete one Countries + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__countriesClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Countries. + * @param {countriesUpdateArgs} args - Arguments to update one Countries. + * @example + * // Update one Countries + * const countries = await prisma.countries.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__countriesClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Countries. + * @param {countriesDeleteManyArgs} args - Arguments to filter Countries to delete. + * @example + * // Delete a few Countries + * const { count } = await prisma.countries.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Countries. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {countriesUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Countries + * const countries = await prisma.countries.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Countries and returns the data updated in the database. + * @param {countriesUpdateManyAndReturnArgs} args - Arguments to update many Countries. + * @example + * // Update many Countries + * const countries = await prisma.countries.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Countries and only return the `id` + * const countriesWithIdOnly = await prisma.countries.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 Countries. + * @param {countriesUpsertArgs} args - Arguments to update or create a Countries. + * @example + * // Update or create a Countries + * const countries = await prisma.countries.upsert({ + * create: { + * // ... data to create a Countries + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Countries we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__countriesClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Countries. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {countriesCountArgs} args - Arguments to filter Countries to count. + * @example + * // Count the number of Countries + * const count = await prisma.countries.count({ + * where: { + * // ... the filter for the Countries 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 Countries. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CountriesAggregateArgs} 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 Countries. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {countriesGroupByArgs} 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 countriesGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: countriesGroupByArgs['orderBy'] } + : { orderBy?: countriesGroupByArgs['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 ? GetCountriesGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the countries model + */ +readonly fields: countriesFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for countries. + * 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__countriesClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + regions = {}>(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 countries model + */ +export interface countriesFieldRefs { + readonly id: Prisma.FieldRef<"countries", 'String'> + readonly name: Prisma.FieldRef<"countries", 'String'> +} + + +// Custom InputTypes +/** + * countries findUnique + */ +export type countriesFindUniqueArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * Filter, which countries to fetch. + */ + where: Prisma.countriesWhereUniqueInput +} + +/** + * countries findUniqueOrThrow + */ +export type countriesFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * Filter, which countries to fetch. + */ + where: Prisma.countriesWhereUniqueInput +} + +/** + * countries findFirst + */ +export type countriesFindFirstArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * Filter, which countries to fetch. + */ + where?: Prisma.countriesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of countries to fetch. + */ + orderBy?: Prisma.countriesOrderByWithRelationInput | Prisma.countriesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for countries. + */ + cursor?: Prisma.countriesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` countries 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` countries. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of countries. + */ + distinct?: Prisma.CountriesScalarFieldEnum | Prisma.CountriesScalarFieldEnum[] +} + +/** + * countries findFirstOrThrow + */ +export type countriesFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * Filter, which countries to fetch. + */ + where?: Prisma.countriesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of countries to fetch. + */ + orderBy?: Prisma.countriesOrderByWithRelationInput | Prisma.countriesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for countries. + */ + cursor?: Prisma.countriesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` countries 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` countries. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of countries. + */ + distinct?: Prisma.CountriesScalarFieldEnum | Prisma.CountriesScalarFieldEnum[] +} + +/** + * countries findMany + */ +export type countriesFindManyArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * Filter, which countries to fetch. + */ + where?: Prisma.countriesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of countries to fetch. + */ + orderBy?: Prisma.countriesOrderByWithRelationInput | Prisma.countriesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing countries. + */ + cursor?: Prisma.countriesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` countries 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` countries. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of countries. + */ + distinct?: Prisma.CountriesScalarFieldEnum | Prisma.CountriesScalarFieldEnum[] +} + +/** + * countries create + */ +export type countriesCreateArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * The data needed to create a countries. + */ + data: Prisma.XOR +} + +/** + * countries createMany + */ +export type countriesCreateManyArgs = { + /** + * The data used to create many countries. + */ + data: Prisma.countriesCreateManyInput | Prisma.countriesCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * countries createManyAndReturn + */ +export type countriesCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelectCreateManyAndReturn | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * The data used to create many countries. + */ + data: Prisma.countriesCreateManyInput | Prisma.countriesCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * countries update + */ +export type countriesUpdateArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * The data needed to update a countries. + */ + data: Prisma.XOR + /** + * Choose, which countries to update. + */ + where: Prisma.countriesWhereUniqueInput +} + +/** + * countries updateMany + */ +export type countriesUpdateManyArgs = { + /** + * The data used to update countries. + */ + data: Prisma.XOR + /** + * Filter which countries to update + */ + where?: Prisma.countriesWhereInput + /** + * Limit how many countries to update. + */ + limit?: number +} + +/** + * countries updateManyAndReturn + */ +export type countriesUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * The data used to update countries. + */ + data: Prisma.XOR + /** + * Filter which countries to update + */ + where?: Prisma.countriesWhereInput + /** + * Limit how many countries to update. + */ + limit?: number +} + +/** + * countries upsert + */ +export type countriesUpsertArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * The filter to search for the countries to update in case it exists. + */ + where: Prisma.countriesWhereUniqueInput + /** + * In case the countries found by the `where` argument doesn't exist, create a new countries with this data. + */ + create: Prisma.XOR + /** + * In case the countries was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * countries delete + */ +export type countriesDeleteArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null + /** + * Filter which countries to delete. + */ + where: Prisma.countriesWhereUniqueInput +} + +/** + * countries deleteMany + */ +export type countriesDeleteManyArgs = { + /** + * Filter which countries to delete + */ + where?: Prisma.countriesWhereInput + /** + * Limit how many countries to delete. + */ + limit?: number +} + +/** + * countries.regions + */ +export type countries$regionsArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + where?: Prisma.regionsWhereInput + orderBy?: Prisma.regionsOrderByWithRelationInput | Prisma.regionsOrderByWithRelationInput[] + cursor?: Prisma.regionsWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.RegionsScalarFieldEnum | Prisma.RegionsScalarFieldEnum[] +} + +/** + * countries without action + */ +export type countriesDefaultArgs = { + /** + * Select specific fields to fetch from the countries + */ + select?: Prisma.countriesSelect | null + /** + * Omit specific fields from the countries + */ + omit?: Prisma.countriesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.countriesInclude | null +} diff --git a/backend/src/generated/prisma/models/messages.ts b/backend/src/generated/prisma/models/messages.ts new file mode 100644 index 0000000..50ed3d7 --- /dev/null +++ b/backend/src/generated/prisma/models/messages.ts @@ -0,0 +1,1465 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `messages` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model messages + * + */ +export type messagesModel = runtime.Types.Result.DefaultSelection + +export type AggregateMessages = { + _count: MessagesCountAggregateOutputType | null + _min: MessagesMinAggregateOutputType | null + _max: MessagesMaxAggregateOutputType | null +} + +export type MessagesMinAggregateOutputType = { + id: string | null + chat_id: string | null + sender_id: string | null + content: string | null + created_at: Date | null +} + +export type MessagesMaxAggregateOutputType = { + id: string | null + chat_id: string | null + sender_id: string | null + content: string | null + created_at: Date | null +} + +export type MessagesCountAggregateOutputType = { + id: number + chat_id: number + sender_id: number + content: number + created_at: number + _all: number +} + + +export type MessagesMinAggregateInputType = { + id?: true + chat_id?: true + sender_id?: true + content?: true + created_at?: true +} + +export type MessagesMaxAggregateInputType = { + id?: true + chat_id?: true + sender_id?: true + content?: true + created_at?: true +} + +export type MessagesCountAggregateInputType = { + id?: true + chat_id?: true + sender_id?: true + content?: true + created_at?: true + _all?: true +} + +export type MessagesAggregateArgs = { + /** + * Filter which messages to aggregate. + */ + where?: Prisma.messagesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of messages to fetch. + */ + orderBy?: Prisma.messagesOrderByWithRelationInput | Prisma.messagesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.messagesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` messages 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` messages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned messages + **/ + _count?: true | MessagesCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MessagesMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MessagesMaxAggregateInputType +} + +export type GetMessagesAggregateType = { + [P in keyof T & keyof AggregateMessages]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type messagesGroupByArgs = { + where?: Prisma.messagesWhereInput + orderBy?: Prisma.messagesOrderByWithAggregationInput | Prisma.messagesOrderByWithAggregationInput[] + by: Prisma.MessagesScalarFieldEnum[] | Prisma.MessagesScalarFieldEnum + having?: Prisma.messagesScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MessagesCountAggregateInputType | true + _min?: MessagesMinAggregateInputType + _max?: MessagesMaxAggregateInputType +} + +export type MessagesGroupByOutputType = { + id: string + chat_id: string + sender_id: string + content: string + created_at: Date + _count: MessagesCountAggregateOutputType | null + _min: MessagesMinAggregateOutputType | null + _max: MessagesMaxAggregateOutputType | null +} + +export type GetMessagesGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof MessagesGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type messagesWhereInput = { + AND?: Prisma.messagesWhereInput | Prisma.messagesWhereInput[] + OR?: Prisma.messagesWhereInput[] + NOT?: Prisma.messagesWhereInput | Prisma.messagesWhereInput[] + id?: Prisma.UuidFilter<"messages"> | string + chat_id?: Prisma.UuidFilter<"messages"> | string + sender_id?: Prisma.UuidFilter<"messages"> | string + content?: Prisma.StringFilter<"messages"> | string + created_at?: Prisma.DateTimeFilter<"messages"> | Date | string + chats?: Prisma.XOR + users?: Prisma.XOR +} + +export type messagesOrderByWithRelationInput = { + id?: Prisma.SortOrder + chat_id?: Prisma.SortOrder + sender_id?: Prisma.SortOrder + content?: Prisma.SortOrder + created_at?: Prisma.SortOrder + chats?: Prisma.chatsOrderByWithRelationInput + users?: Prisma.usersOrderByWithRelationInput +} + +export type messagesWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.messagesWhereInput | Prisma.messagesWhereInput[] + OR?: Prisma.messagesWhereInput[] + NOT?: Prisma.messagesWhereInput | Prisma.messagesWhereInput[] + chat_id?: Prisma.UuidFilter<"messages"> | string + sender_id?: Prisma.UuidFilter<"messages"> | string + content?: Prisma.StringFilter<"messages"> | string + created_at?: Prisma.DateTimeFilter<"messages"> | Date | string + chats?: Prisma.XOR + users?: Prisma.XOR +}, "id"> + +export type messagesOrderByWithAggregationInput = { + id?: Prisma.SortOrder + chat_id?: Prisma.SortOrder + sender_id?: Prisma.SortOrder + content?: Prisma.SortOrder + created_at?: Prisma.SortOrder + _count?: Prisma.messagesCountOrderByAggregateInput + _max?: Prisma.messagesMaxOrderByAggregateInput + _min?: Prisma.messagesMinOrderByAggregateInput +} + +export type messagesScalarWhereWithAggregatesInput = { + AND?: Prisma.messagesScalarWhereWithAggregatesInput | Prisma.messagesScalarWhereWithAggregatesInput[] + OR?: Prisma.messagesScalarWhereWithAggregatesInput[] + NOT?: Prisma.messagesScalarWhereWithAggregatesInput | Prisma.messagesScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"messages"> | string + chat_id?: Prisma.UuidWithAggregatesFilter<"messages"> | string + sender_id?: Prisma.UuidWithAggregatesFilter<"messages"> | string + content?: Prisma.StringWithAggregatesFilter<"messages"> | string + created_at?: Prisma.DateTimeWithAggregatesFilter<"messages"> | Date | string +} + +export type messagesCreateInput = { + id?: string + content: string + created_at?: Date | string + chats: Prisma.chatsCreateNestedOneWithoutMessagesInput + users: Prisma.usersCreateNestedOneWithoutMessagesInput +} + +export type messagesUncheckedCreateInput = { + id?: string + chat_id: string + sender_id: string + content: string + created_at?: Date | string +} + +export type messagesUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats?: Prisma.chatsUpdateOneRequiredWithoutMessagesNestedInput + users?: Prisma.usersUpdateOneRequiredWithoutMessagesNestedInput +} + +export type messagesUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + chat_id?: Prisma.StringFieldUpdateOperationsInput | string + sender_id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type messagesCreateManyInput = { + id?: string + chat_id: string + sender_id: string + content: string + created_at?: Date | string +} + +export type messagesUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type messagesUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + chat_id?: Prisma.StringFieldUpdateOperationsInput | string + sender_id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type MessagesListRelationFilter = { + every?: Prisma.messagesWhereInput + some?: Prisma.messagesWhereInput + none?: Prisma.messagesWhereInput +} + +export type messagesOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type messagesCountOrderByAggregateInput = { + id?: Prisma.SortOrder + chat_id?: Prisma.SortOrder + sender_id?: Prisma.SortOrder + content?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type messagesMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + chat_id?: Prisma.SortOrder + sender_id?: Prisma.SortOrder + content?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type messagesMinOrderByAggregateInput = { + id?: Prisma.SortOrder + chat_id?: Prisma.SortOrder + sender_id?: Prisma.SortOrder + content?: Prisma.SortOrder + created_at?: Prisma.SortOrder +} + +export type messagesCreateNestedManyWithoutChatsInput = { + create?: Prisma.XOR | Prisma.messagesCreateWithoutChatsInput[] | Prisma.messagesUncheckedCreateWithoutChatsInput[] + connectOrCreate?: Prisma.messagesCreateOrConnectWithoutChatsInput | Prisma.messagesCreateOrConnectWithoutChatsInput[] + createMany?: Prisma.messagesCreateManyChatsInputEnvelope + connect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] +} + +export type messagesUncheckedCreateNestedManyWithoutChatsInput = { + create?: Prisma.XOR | Prisma.messagesCreateWithoutChatsInput[] | Prisma.messagesUncheckedCreateWithoutChatsInput[] + connectOrCreate?: Prisma.messagesCreateOrConnectWithoutChatsInput | Prisma.messagesCreateOrConnectWithoutChatsInput[] + createMany?: Prisma.messagesCreateManyChatsInputEnvelope + connect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] +} + +export type messagesUpdateManyWithoutChatsNestedInput = { + create?: Prisma.XOR | Prisma.messagesCreateWithoutChatsInput[] | Prisma.messagesUncheckedCreateWithoutChatsInput[] + connectOrCreate?: Prisma.messagesCreateOrConnectWithoutChatsInput | Prisma.messagesCreateOrConnectWithoutChatsInput[] + upsert?: Prisma.messagesUpsertWithWhereUniqueWithoutChatsInput | Prisma.messagesUpsertWithWhereUniqueWithoutChatsInput[] + createMany?: Prisma.messagesCreateManyChatsInputEnvelope + set?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + disconnect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + delete?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + connect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + update?: Prisma.messagesUpdateWithWhereUniqueWithoutChatsInput | Prisma.messagesUpdateWithWhereUniqueWithoutChatsInput[] + updateMany?: Prisma.messagesUpdateManyWithWhereWithoutChatsInput | Prisma.messagesUpdateManyWithWhereWithoutChatsInput[] + deleteMany?: Prisma.messagesScalarWhereInput | Prisma.messagesScalarWhereInput[] +} + +export type messagesUncheckedUpdateManyWithoutChatsNestedInput = { + create?: Prisma.XOR | Prisma.messagesCreateWithoutChatsInput[] | Prisma.messagesUncheckedCreateWithoutChatsInput[] + connectOrCreate?: Prisma.messagesCreateOrConnectWithoutChatsInput | Prisma.messagesCreateOrConnectWithoutChatsInput[] + upsert?: Prisma.messagesUpsertWithWhereUniqueWithoutChatsInput | Prisma.messagesUpsertWithWhereUniqueWithoutChatsInput[] + createMany?: Prisma.messagesCreateManyChatsInputEnvelope + set?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + disconnect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + delete?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + connect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + update?: Prisma.messagesUpdateWithWhereUniqueWithoutChatsInput | Prisma.messagesUpdateWithWhereUniqueWithoutChatsInput[] + updateMany?: Prisma.messagesUpdateManyWithWhereWithoutChatsInput | Prisma.messagesUpdateManyWithWhereWithoutChatsInput[] + deleteMany?: Prisma.messagesScalarWhereInput | Prisma.messagesScalarWhereInput[] +} + +export type messagesCreateNestedManyWithoutUsersInput = { + create?: Prisma.XOR | Prisma.messagesCreateWithoutUsersInput[] | Prisma.messagesUncheckedCreateWithoutUsersInput[] + connectOrCreate?: Prisma.messagesCreateOrConnectWithoutUsersInput | Prisma.messagesCreateOrConnectWithoutUsersInput[] + createMany?: Prisma.messagesCreateManyUsersInputEnvelope + connect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] +} + +export type messagesUncheckedCreateNestedManyWithoutUsersInput = { + create?: Prisma.XOR | Prisma.messagesCreateWithoutUsersInput[] | Prisma.messagesUncheckedCreateWithoutUsersInput[] + connectOrCreate?: Prisma.messagesCreateOrConnectWithoutUsersInput | Prisma.messagesCreateOrConnectWithoutUsersInput[] + createMany?: Prisma.messagesCreateManyUsersInputEnvelope + connect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] +} + +export type messagesUpdateManyWithoutUsersNestedInput = { + create?: Prisma.XOR | Prisma.messagesCreateWithoutUsersInput[] | Prisma.messagesUncheckedCreateWithoutUsersInput[] + connectOrCreate?: Prisma.messagesCreateOrConnectWithoutUsersInput | Prisma.messagesCreateOrConnectWithoutUsersInput[] + upsert?: Prisma.messagesUpsertWithWhereUniqueWithoutUsersInput | Prisma.messagesUpsertWithWhereUniqueWithoutUsersInput[] + createMany?: Prisma.messagesCreateManyUsersInputEnvelope + set?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + disconnect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + delete?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + connect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + update?: Prisma.messagesUpdateWithWhereUniqueWithoutUsersInput | Prisma.messagesUpdateWithWhereUniqueWithoutUsersInput[] + updateMany?: Prisma.messagesUpdateManyWithWhereWithoutUsersInput | Prisma.messagesUpdateManyWithWhereWithoutUsersInput[] + deleteMany?: Prisma.messagesScalarWhereInput | Prisma.messagesScalarWhereInput[] +} + +export type messagesUncheckedUpdateManyWithoutUsersNestedInput = { + create?: Prisma.XOR | Prisma.messagesCreateWithoutUsersInput[] | Prisma.messagesUncheckedCreateWithoutUsersInput[] + connectOrCreate?: Prisma.messagesCreateOrConnectWithoutUsersInput | Prisma.messagesCreateOrConnectWithoutUsersInput[] + upsert?: Prisma.messagesUpsertWithWhereUniqueWithoutUsersInput | Prisma.messagesUpsertWithWhereUniqueWithoutUsersInput[] + createMany?: Prisma.messagesCreateManyUsersInputEnvelope + set?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + disconnect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + delete?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + connect?: Prisma.messagesWhereUniqueInput | Prisma.messagesWhereUniqueInput[] + update?: Prisma.messagesUpdateWithWhereUniqueWithoutUsersInput | Prisma.messagesUpdateWithWhereUniqueWithoutUsersInput[] + updateMany?: Prisma.messagesUpdateManyWithWhereWithoutUsersInput | Prisma.messagesUpdateManyWithWhereWithoutUsersInput[] + deleteMany?: Prisma.messagesScalarWhereInput | Prisma.messagesScalarWhereInput[] +} + +export type messagesCreateWithoutChatsInput = { + id?: string + content: string + created_at?: Date | string + users: Prisma.usersCreateNestedOneWithoutMessagesInput +} + +export type messagesUncheckedCreateWithoutChatsInput = { + id?: string + sender_id: string + content: string + created_at?: Date | string +} + +export type messagesCreateOrConnectWithoutChatsInput = { + where: Prisma.messagesWhereUniqueInput + create: Prisma.XOR +} + +export type messagesCreateManyChatsInputEnvelope = { + data: Prisma.messagesCreateManyChatsInput | Prisma.messagesCreateManyChatsInput[] + skipDuplicates?: boolean +} + +export type messagesUpsertWithWhereUniqueWithoutChatsInput = { + where: Prisma.messagesWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type messagesUpdateWithWhereUniqueWithoutChatsInput = { + where: Prisma.messagesWhereUniqueInput + data: Prisma.XOR +} + +export type messagesUpdateManyWithWhereWithoutChatsInput = { + where: Prisma.messagesScalarWhereInput + data: Prisma.XOR +} + +export type messagesScalarWhereInput = { + AND?: Prisma.messagesScalarWhereInput | Prisma.messagesScalarWhereInput[] + OR?: Prisma.messagesScalarWhereInput[] + NOT?: Prisma.messagesScalarWhereInput | Prisma.messagesScalarWhereInput[] + id?: Prisma.UuidFilter<"messages"> | string + chat_id?: Prisma.UuidFilter<"messages"> | string + sender_id?: Prisma.UuidFilter<"messages"> | string + content?: Prisma.StringFilter<"messages"> | string + created_at?: Prisma.DateTimeFilter<"messages"> | Date | string +} + +export type messagesCreateWithoutUsersInput = { + id?: string + content: string + created_at?: Date | string + chats: Prisma.chatsCreateNestedOneWithoutMessagesInput +} + +export type messagesUncheckedCreateWithoutUsersInput = { + id?: string + chat_id: string + content: string + created_at?: Date | string +} + +export type messagesCreateOrConnectWithoutUsersInput = { + where: Prisma.messagesWhereUniqueInput + create: Prisma.XOR +} + +export type messagesCreateManyUsersInputEnvelope = { + data: Prisma.messagesCreateManyUsersInput | Prisma.messagesCreateManyUsersInput[] + skipDuplicates?: boolean +} + +export type messagesUpsertWithWhereUniqueWithoutUsersInput = { + where: Prisma.messagesWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type messagesUpdateWithWhereUniqueWithoutUsersInput = { + where: Prisma.messagesWhereUniqueInput + data: Prisma.XOR +} + +export type messagesUpdateManyWithWhereWithoutUsersInput = { + where: Prisma.messagesScalarWhereInput + data: Prisma.XOR +} + +export type messagesCreateManyChatsInput = { + id?: string + sender_id: string + content: string + created_at?: Date | string +} + +export type messagesUpdateWithoutChatsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users?: Prisma.usersUpdateOneRequiredWithoutMessagesNestedInput +} + +export type messagesUncheckedUpdateWithoutChatsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sender_id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type messagesUncheckedUpdateManyWithoutChatsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sender_id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type messagesCreateManyUsersInput = { + id?: string + chat_id: string + content: string + created_at?: Date | string +} + +export type messagesUpdateWithoutUsersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats?: Prisma.chatsUpdateOneRequiredWithoutMessagesNestedInput +} + +export type messagesUncheckedUpdateWithoutUsersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + chat_id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type messagesUncheckedUpdateManyWithoutUsersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + chat_id?: Prisma.StringFieldUpdateOperationsInput | string + content?: Prisma.StringFieldUpdateOperationsInput | string + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + + +export type messagesSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + chat_id?: boolean + sender_id?: boolean + content?: boolean + created_at?: boolean + chats?: boolean | Prisma.chatsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["messages"]> + +export type messagesSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + chat_id?: boolean + sender_id?: boolean + content?: boolean + created_at?: boolean + chats?: boolean | Prisma.chatsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["messages"]> + +export type messagesSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + chat_id?: boolean + sender_id?: boolean + content?: boolean + created_at?: boolean + chats?: boolean | Prisma.chatsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["messages"]> + +export type messagesSelectScalar = { + id?: boolean + chat_id?: boolean + sender_id?: boolean + content?: boolean + created_at?: boolean +} + +export type messagesOmit = runtime.Types.Extensions.GetOmit<"id" | "chat_id" | "sender_id" | "content" | "created_at", ExtArgs["result"]["messages"]> +export type messagesInclude = { + chats?: boolean | Prisma.chatsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +} +export type messagesIncludeCreateManyAndReturn = { + chats?: boolean | Prisma.chatsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +} +export type messagesIncludeUpdateManyAndReturn = { + chats?: boolean | Prisma.chatsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +} + +export type $messagesPayload = { + name: "messages" + objects: { + chats: Prisma.$chatsPayload + users: Prisma.$usersPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + chat_id: string + sender_id: string + content: string + created_at: Date + }, ExtArgs["result"]["messages"]> + composites: {} +} + +export type messagesGetPayload = runtime.Types.Result.GetResult + +export type messagesCountArgs = + Omit & { + select?: MessagesCountAggregateInputType | true + } + +export interface messagesDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['messages'], meta: { name: 'messages' } } + /** + * Find zero or one Messages that matches the filter. + * @param {messagesFindUniqueArgs} args - Arguments to find a Messages + * @example + * // Get one Messages + * const messages = await prisma.messages.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__messagesClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Messages that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {messagesFindUniqueOrThrowArgs} args - Arguments to find a Messages + * @example + * // Get one Messages + * const messages = await prisma.messages.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__messagesClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Messages 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 {messagesFindFirstArgs} args - Arguments to find a Messages + * @example + * // Get one Messages + * const messages = await prisma.messages.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__messagesClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Messages 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 {messagesFindFirstOrThrowArgs} args - Arguments to find a Messages + * @example + * // Get one Messages + * const messages = await prisma.messages.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__messagesClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Messages 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 {messagesFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Messages + * const messages = await prisma.messages.findMany() + * + * // Get first 10 Messages + * const messages = await prisma.messages.findMany({ take: 10 }) + * + * // Only select the `id` + * const messagesWithIdOnly = await prisma.messages.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Messages. + * @param {messagesCreateArgs} args - Arguments to create a Messages. + * @example + * // Create one Messages + * const Messages = await prisma.messages.create({ + * data: { + * // ... data to create a Messages + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__messagesClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Messages. + * @param {messagesCreateManyArgs} args - Arguments to create many Messages. + * @example + * // Create many Messages + * const messages = await prisma.messages.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Messages and returns the data saved in the database. + * @param {messagesCreateManyAndReturnArgs} args - Arguments to create many Messages. + * @example + * // Create many Messages + * const messages = await prisma.messages.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Messages and only return the `id` + * const messagesWithIdOnly = await prisma.messages.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 Messages. + * @param {messagesDeleteArgs} args - Arguments to delete one Messages. + * @example + * // Delete one Messages + * const Messages = await prisma.messages.delete({ + * where: { + * // ... filter to delete one Messages + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__messagesClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Messages. + * @param {messagesUpdateArgs} args - Arguments to update one Messages. + * @example + * // Update one Messages + * const messages = await prisma.messages.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__messagesClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Messages. + * @param {messagesDeleteManyArgs} args - Arguments to filter Messages to delete. + * @example + * // Delete a few Messages + * const { count } = await prisma.messages.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Messages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {messagesUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Messages + * const messages = await prisma.messages.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Messages and returns the data updated in the database. + * @param {messagesUpdateManyAndReturnArgs} args - Arguments to update many Messages. + * @example + * // Update many Messages + * const messages = await prisma.messages.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Messages and only return the `id` + * const messagesWithIdOnly = await prisma.messages.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 Messages. + * @param {messagesUpsertArgs} args - Arguments to update or create a Messages. + * @example + * // Update or create a Messages + * const messages = await prisma.messages.upsert({ + * create: { + * // ... data to create a Messages + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Messages we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__messagesClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Messages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {messagesCountArgs} args - Arguments to filter Messages to count. + * @example + * // Count the number of Messages + * const count = await prisma.messages.count({ + * where: { + * // ... the filter for the Messages 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 Messages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MessagesAggregateArgs} 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 Messages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {messagesGroupByArgs} 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 messagesGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: messagesGroupByArgs['orderBy'] } + : { orderBy?: messagesGroupByArgs['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 ? GetMessagesGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the messages model + */ +readonly fields: messagesFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for messages. + * 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__messagesClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + chats = {}>(args?: Prisma.Subset>): Prisma.Prisma__chatsClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + users = {}>(args?: Prisma.Subset>): Prisma.Prisma__usersClient, 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 messages model + */ +export interface messagesFieldRefs { + readonly id: Prisma.FieldRef<"messages", 'String'> + readonly chat_id: Prisma.FieldRef<"messages", 'String'> + readonly sender_id: Prisma.FieldRef<"messages", 'String'> + readonly content: Prisma.FieldRef<"messages", 'String'> + readonly created_at: Prisma.FieldRef<"messages", 'DateTime'> +} + + +// Custom InputTypes +/** + * messages findUnique + */ +export type messagesFindUniqueArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * Filter, which messages to fetch. + */ + where: Prisma.messagesWhereUniqueInput +} + +/** + * messages findUniqueOrThrow + */ +export type messagesFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * Filter, which messages to fetch. + */ + where: Prisma.messagesWhereUniqueInput +} + +/** + * messages findFirst + */ +export type messagesFindFirstArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * Filter, which messages to fetch. + */ + where?: Prisma.messagesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of messages to fetch. + */ + orderBy?: Prisma.messagesOrderByWithRelationInput | Prisma.messagesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for messages. + */ + cursor?: Prisma.messagesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` messages 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` messages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of messages. + */ + distinct?: Prisma.MessagesScalarFieldEnum | Prisma.MessagesScalarFieldEnum[] +} + +/** + * messages findFirstOrThrow + */ +export type messagesFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * Filter, which messages to fetch. + */ + where?: Prisma.messagesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of messages to fetch. + */ + orderBy?: Prisma.messagesOrderByWithRelationInput | Prisma.messagesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for messages. + */ + cursor?: Prisma.messagesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` messages 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` messages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of messages. + */ + distinct?: Prisma.MessagesScalarFieldEnum | Prisma.MessagesScalarFieldEnum[] +} + +/** + * messages findMany + */ +export type messagesFindManyArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * Filter, which messages to fetch. + */ + where?: Prisma.messagesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of messages to fetch. + */ + orderBy?: Prisma.messagesOrderByWithRelationInput | Prisma.messagesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing messages. + */ + cursor?: Prisma.messagesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` messages 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` messages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of messages. + */ + distinct?: Prisma.MessagesScalarFieldEnum | Prisma.MessagesScalarFieldEnum[] +} + +/** + * messages create + */ +export type messagesCreateArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * The data needed to create a messages. + */ + data: Prisma.XOR +} + +/** + * messages createMany + */ +export type messagesCreateManyArgs = { + /** + * The data used to create many messages. + */ + data: Prisma.messagesCreateManyInput | Prisma.messagesCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * messages createManyAndReturn + */ +export type messagesCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelectCreateManyAndReturn | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * The data used to create many messages. + */ + data: Prisma.messagesCreateManyInput | Prisma.messagesCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesIncludeCreateManyAndReturn | null +} + +/** + * messages update + */ +export type messagesUpdateArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * The data needed to update a messages. + */ + data: Prisma.XOR + /** + * Choose, which messages to update. + */ + where: Prisma.messagesWhereUniqueInput +} + +/** + * messages updateMany + */ +export type messagesUpdateManyArgs = { + /** + * The data used to update messages. + */ + data: Prisma.XOR + /** + * Filter which messages to update + */ + where?: Prisma.messagesWhereInput + /** + * Limit how many messages to update. + */ + limit?: number +} + +/** + * messages updateManyAndReturn + */ +export type messagesUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * The data used to update messages. + */ + data: Prisma.XOR + /** + * Filter which messages to update + */ + where?: Prisma.messagesWhereInput + /** + * Limit how many messages to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesIncludeUpdateManyAndReturn | null +} + +/** + * messages upsert + */ +export type messagesUpsertArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * The filter to search for the messages to update in case it exists. + */ + where: Prisma.messagesWhereUniqueInput + /** + * In case the messages found by the `where` argument doesn't exist, create a new messages with this data. + */ + create: Prisma.XOR + /** + * In case the messages was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * messages delete + */ +export type messagesDeleteArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + /** + * Filter which messages to delete. + */ + where: Prisma.messagesWhereUniqueInput +} + +/** + * messages deleteMany + */ +export type messagesDeleteManyArgs = { + /** + * Filter which messages to delete + */ + where?: Prisma.messagesWhereInput + /** + * Limit how many messages to delete. + */ + limit?: number +} + +/** + * messages without action + */ +export type messagesDefaultArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null +} diff --git a/backend/src/generated/prisma/models/payment_methods.ts b/backend/src/generated/prisma/models/payment_methods.ts new file mode 100644 index 0000000..20a0bc8 --- /dev/null +++ b/backend/src/generated/prisma/models/payment_methods.ts @@ -0,0 +1,1299 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `payment_methods` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model payment_methods + * + */ +export type payment_methodsModel = runtime.Types.Result.DefaultSelection + +export type AggregatePayment_methods = { + _count: Payment_methodsCountAggregateOutputType | null + _min: Payment_methodsMinAggregateOutputType | null + _max: Payment_methodsMaxAggregateOutputType | null +} + +export type Payment_methodsMinAggregateOutputType = { + id: string | null + professional_id: string | null + nequi: boolean | null + datafono: boolean | null + transferencia: boolean | null +} + +export type Payment_methodsMaxAggregateOutputType = { + id: string | null + professional_id: string | null + nequi: boolean | null + datafono: boolean | null + transferencia: boolean | null +} + +export type Payment_methodsCountAggregateOutputType = { + id: number + professional_id: number + nequi: number + datafono: number + transferencia: number + _all: number +} + + +export type Payment_methodsMinAggregateInputType = { + id?: true + professional_id?: true + nequi?: true + datafono?: true + transferencia?: true +} + +export type Payment_methodsMaxAggregateInputType = { + id?: true + professional_id?: true + nequi?: true + datafono?: true + transferencia?: true +} + +export type Payment_methodsCountAggregateInputType = { + id?: true + professional_id?: true + nequi?: true + datafono?: true + transferencia?: true + _all?: true +} + +export type Payment_methodsAggregateArgs = { + /** + * Filter which payment_methods to aggregate. + */ + where?: Prisma.payment_methodsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of payment_methods to fetch. + */ + orderBy?: Prisma.payment_methodsOrderByWithRelationInput | Prisma.payment_methodsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.payment_methodsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` payment_methods 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` payment_methods. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned payment_methods + **/ + _count?: true | Payment_methodsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: Payment_methodsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: Payment_methodsMaxAggregateInputType +} + +export type GetPayment_methodsAggregateType = { + [P in keyof T & keyof AggregatePayment_methods]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type payment_methodsGroupByArgs = { + where?: Prisma.payment_methodsWhereInput + orderBy?: Prisma.payment_methodsOrderByWithAggregationInput | Prisma.payment_methodsOrderByWithAggregationInput[] + by: Prisma.Payment_methodsScalarFieldEnum[] | Prisma.Payment_methodsScalarFieldEnum + having?: Prisma.payment_methodsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: Payment_methodsCountAggregateInputType | true + _min?: Payment_methodsMinAggregateInputType + _max?: Payment_methodsMaxAggregateInputType +} + +export type Payment_methodsGroupByOutputType = { + id: string + professional_id: string + nequi: boolean | null + datafono: boolean | null + transferencia: boolean | null + _count: Payment_methodsCountAggregateOutputType | null + _min: Payment_methodsMinAggregateOutputType | null + _max: Payment_methodsMaxAggregateOutputType | null +} + +export type GetPayment_methodsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof Payment_methodsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type payment_methodsWhereInput = { + AND?: Prisma.payment_methodsWhereInput | Prisma.payment_methodsWhereInput[] + OR?: Prisma.payment_methodsWhereInput[] + NOT?: Prisma.payment_methodsWhereInput | Prisma.payment_methodsWhereInput[] + id?: Prisma.UuidFilter<"payment_methods"> | string + professional_id?: Prisma.UuidFilter<"payment_methods"> | string + nequi?: Prisma.BoolNullableFilter<"payment_methods"> | boolean | null + datafono?: Prisma.BoolNullableFilter<"payment_methods"> | boolean | null + transferencia?: Prisma.BoolNullableFilter<"payment_methods"> | boolean | null + professionals?: Prisma.XOR +} + +export type payment_methodsOrderByWithRelationInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + nequi?: Prisma.SortOrderInput | Prisma.SortOrder + datafono?: Prisma.SortOrderInput | Prisma.SortOrder + transferencia?: Prisma.SortOrderInput | Prisma.SortOrder + professionals?: Prisma.professionalsOrderByWithRelationInput +} + +export type payment_methodsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + professional_id?: string + AND?: Prisma.payment_methodsWhereInput | Prisma.payment_methodsWhereInput[] + OR?: Prisma.payment_methodsWhereInput[] + NOT?: Prisma.payment_methodsWhereInput | Prisma.payment_methodsWhereInput[] + nequi?: Prisma.BoolNullableFilter<"payment_methods"> | boolean | null + datafono?: Prisma.BoolNullableFilter<"payment_methods"> | boolean | null + transferencia?: Prisma.BoolNullableFilter<"payment_methods"> | boolean | null + professionals?: Prisma.XOR +}, "id" | "professional_id"> + +export type payment_methodsOrderByWithAggregationInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + nequi?: Prisma.SortOrderInput | Prisma.SortOrder + datafono?: Prisma.SortOrderInput | Prisma.SortOrder + transferencia?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.payment_methodsCountOrderByAggregateInput + _max?: Prisma.payment_methodsMaxOrderByAggregateInput + _min?: Prisma.payment_methodsMinOrderByAggregateInput +} + +export type payment_methodsScalarWhereWithAggregatesInput = { + AND?: Prisma.payment_methodsScalarWhereWithAggregatesInput | Prisma.payment_methodsScalarWhereWithAggregatesInput[] + OR?: Prisma.payment_methodsScalarWhereWithAggregatesInput[] + NOT?: Prisma.payment_methodsScalarWhereWithAggregatesInput | Prisma.payment_methodsScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"payment_methods"> | string + professional_id?: Prisma.UuidWithAggregatesFilter<"payment_methods"> | string + nequi?: Prisma.BoolNullableWithAggregatesFilter<"payment_methods"> | boolean | null + datafono?: Prisma.BoolNullableWithAggregatesFilter<"payment_methods"> | boolean | null + transferencia?: Prisma.BoolNullableWithAggregatesFilter<"payment_methods"> | boolean | null +} + +export type payment_methodsCreateInput = { + id?: string + nequi?: boolean | null + datafono?: boolean | null + transferencia?: boolean | null + professionals: Prisma.professionalsCreateNestedOneWithoutPayment_methodsInput +} + +export type payment_methodsUncheckedCreateInput = { + id?: string + professional_id: string + nequi?: boolean | null + datafono?: boolean | null + transferencia?: boolean | null +} + +export type payment_methodsUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + nequi?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + datafono?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + transferencia?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + professionals?: Prisma.professionalsUpdateOneRequiredWithoutPayment_methodsNestedInput +} + +export type payment_methodsUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + nequi?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + datafono?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + transferencia?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null +} + +export type payment_methodsCreateManyInput = { + id?: string + professional_id: string + nequi?: boolean | null + datafono?: boolean | null + transferencia?: boolean | null +} + +export type payment_methodsUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + nequi?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + datafono?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + transferencia?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null +} + +export type payment_methodsUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + nequi?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + datafono?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + transferencia?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null +} + +export type payment_methodsCountOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + nequi?: Prisma.SortOrder + datafono?: Prisma.SortOrder + transferencia?: Prisma.SortOrder +} + +export type payment_methodsMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + nequi?: Prisma.SortOrder + datafono?: Prisma.SortOrder + transferencia?: Prisma.SortOrder +} + +export type payment_methodsMinOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + nequi?: Prisma.SortOrder + datafono?: Prisma.SortOrder + transferencia?: Prisma.SortOrder +} + +export type Payment_methodsNullableScalarRelationFilter = { + is?: Prisma.payment_methodsWhereInput | null + isNot?: Prisma.payment_methodsWhereInput | null +} + +export type NullableBoolFieldUpdateOperationsInput = { + set?: boolean | null +} + +export type payment_methodsCreateNestedOneWithoutProfessionalsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.payment_methodsCreateOrConnectWithoutProfessionalsInput + connect?: Prisma.payment_methodsWhereUniqueInput +} + +export type payment_methodsUncheckedCreateNestedOneWithoutProfessionalsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.payment_methodsCreateOrConnectWithoutProfessionalsInput + connect?: Prisma.payment_methodsWhereUniqueInput +} + +export type payment_methodsUpdateOneWithoutProfessionalsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.payment_methodsCreateOrConnectWithoutProfessionalsInput + upsert?: Prisma.payment_methodsUpsertWithoutProfessionalsInput + disconnect?: Prisma.payment_methodsWhereInput | boolean + delete?: Prisma.payment_methodsWhereInput | boolean + connect?: Prisma.payment_methodsWhereUniqueInput + update?: Prisma.XOR, Prisma.payment_methodsUncheckedUpdateWithoutProfessionalsInput> +} + +export type payment_methodsUncheckedUpdateOneWithoutProfessionalsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.payment_methodsCreateOrConnectWithoutProfessionalsInput + upsert?: Prisma.payment_methodsUpsertWithoutProfessionalsInput + disconnect?: Prisma.payment_methodsWhereInput | boolean + delete?: Prisma.payment_methodsWhereInput | boolean + connect?: Prisma.payment_methodsWhereUniqueInput + update?: Prisma.XOR, Prisma.payment_methodsUncheckedUpdateWithoutProfessionalsInput> +} + +export type payment_methodsCreateWithoutProfessionalsInput = { + id?: string + nequi?: boolean | null + datafono?: boolean | null + transferencia?: boolean | null +} + +export type payment_methodsUncheckedCreateWithoutProfessionalsInput = { + id?: string + nequi?: boolean | null + datafono?: boolean | null + transferencia?: boolean | null +} + +export type payment_methodsCreateOrConnectWithoutProfessionalsInput = { + where: Prisma.payment_methodsWhereUniqueInput + create: Prisma.XOR +} + +export type payment_methodsUpsertWithoutProfessionalsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.payment_methodsWhereInput +} + +export type payment_methodsUpdateToOneWithWhereWithoutProfessionalsInput = { + where?: Prisma.payment_methodsWhereInput + data: Prisma.XOR +} + +export type payment_methodsUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + nequi?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + datafono?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + transferencia?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null +} + +export type payment_methodsUncheckedUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + nequi?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + datafono?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + transferencia?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null +} + + + +export type payment_methodsSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + nequi?: boolean + datafono?: boolean + transferencia?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["payment_methods"]> + +export type payment_methodsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + nequi?: boolean + datafono?: boolean + transferencia?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["payment_methods"]> + +export type payment_methodsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + nequi?: boolean + datafono?: boolean + transferencia?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["payment_methods"]> + +export type payment_methodsSelectScalar = { + id?: boolean + professional_id?: boolean + nequi?: boolean + datafono?: boolean + transferencia?: boolean +} + +export type payment_methodsOmit = runtime.Types.Extensions.GetOmit<"id" | "professional_id" | "nequi" | "datafono" | "transferencia", ExtArgs["result"]["payment_methods"]> +export type payment_methodsInclude = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} +export type payment_methodsIncludeCreateManyAndReturn = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} +export type payment_methodsIncludeUpdateManyAndReturn = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} + +export type $payment_methodsPayload = { + name: "payment_methods" + objects: { + professionals: Prisma.$professionalsPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + professional_id: string + nequi: boolean | null + datafono: boolean | null + transferencia: boolean | null + }, ExtArgs["result"]["payment_methods"]> + composites: {} +} + +export type payment_methodsGetPayload = runtime.Types.Result.GetResult + +export type payment_methodsCountArgs = + Omit & { + select?: Payment_methodsCountAggregateInputType | true + } + +export interface payment_methodsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['payment_methods'], meta: { name: 'payment_methods' } } + /** + * Find zero or one Payment_methods that matches the filter. + * @param {payment_methodsFindUniqueArgs} args - Arguments to find a Payment_methods + * @example + * // Get one Payment_methods + * const payment_methods = await prisma.payment_methods.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__payment_methodsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Payment_methods that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {payment_methodsFindUniqueOrThrowArgs} args - Arguments to find a Payment_methods + * @example + * // Get one Payment_methods + * const payment_methods = await prisma.payment_methods.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__payment_methodsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Payment_methods 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 {payment_methodsFindFirstArgs} args - Arguments to find a Payment_methods + * @example + * // Get one Payment_methods + * const payment_methods = await prisma.payment_methods.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__payment_methodsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Payment_methods 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 {payment_methodsFindFirstOrThrowArgs} args - Arguments to find a Payment_methods + * @example + * // Get one Payment_methods + * const payment_methods = await prisma.payment_methods.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__payment_methodsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Payment_methods 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 {payment_methodsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Payment_methods + * const payment_methods = await prisma.payment_methods.findMany() + * + * // Get first 10 Payment_methods + * const payment_methods = await prisma.payment_methods.findMany({ take: 10 }) + * + * // Only select the `id` + * const payment_methodsWithIdOnly = await prisma.payment_methods.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Payment_methods. + * @param {payment_methodsCreateArgs} args - Arguments to create a Payment_methods. + * @example + * // Create one Payment_methods + * const Payment_methods = await prisma.payment_methods.create({ + * data: { + * // ... data to create a Payment_methods + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__payment_methodsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Payment_methods. + * @param {payment_methodsCreateManyArgs} args - Arguments to create many Payment_methods. + * @example + * // Create many Payment_methods + * const payment_methods = await prisma.payment_methods.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Payment_methods and returns the data saved in the database. + * @param {payment_methodsCreateManyAndReturnArgs} args - Arguments to create many Payment_methods. + * @example + * // Create many Payment_methods + * const payment_methods = await prisma.payment_methods.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Payment_methods and only return the `id` + * const payment_methodsWithIdOnly = await prisma.payment_methods.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 Payment_methods. + * @param {payment_methodsDeleteArgs} args - Arguments to delete one Payment_methods. + * @example + * // Delete one Payment_methods + * const Payment_methods = await prisma.payment_methods.delete({ + * where: { + * // ... filter to delete one Payment_methods + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__payment_methodsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Payment_methods. + * @param {payment_methodsUpdateArgs} args - Arguments to update one Payment_methods. + * @example + * // Update one Payment_methods + * const payment_methods = await prisma.payment_methods.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__payment_methodsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Payment_methods. + * @param {payment_methodsDeleteManyArgs} args - Arguments to filter Payment_methods to delete. + * @example + * // Delete a few Payment_methods + * const { count } = await prisma.payment_methods.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Payment_methods. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {payment_methodsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Payment_methods + * const payment_methods = await prisma.payment_methods.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Payment_methods and returns the data updated in the database. + * @param {payment_methodsUpdateManyAndReturnArgs} args - Arguments to update many Payment_methods. + * @example + * // Update many Payment_methods + * const payment_methods = await prisma.payment_methods.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Payment_methods and only return the `id` + * const payment_methodsWithIdOnly = await prisma.payment_methods.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 Payment_methods. + * @param {payment_methodsUpsertArgs} args - Arguments to update or create a Payment_methods. + * @example + * // Update or create a Payment_methods + * const payment_methods = await prisma.payment_methods.upsert({ + * create: { + * // ... data to create a Payment_methods + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Payment_methods we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__payment_methodsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Payment_methods. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {payment_methodsCountArgs} args - Arguments to filter Payment_methods to count. + * @example + * // Count the number of Payment_methods + * const count = await prisma.payment_methods.count({ + * where: { + * // ... the filter for the Payment_methods 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 Payment_methods. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {Payment_methodsAggregateArgs} 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 Payment_methods. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {payment_methodsGroupByArgs} 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 payment_methodsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: payment_methodsGroupByArgs['orderBy'] } + : { orderBy?: payment_methodsGroupByArgs['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 ? GetPayment_methodsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the payment_methods model + */ +readonly fields: payment_methodsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for payment_methods. + * 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__payment_methodsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + professionals = {}>(args?: Prisma.Subset>): Prisma.Prisma__professionalsClient, 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 payment_methods model + */ +export interface payment_methodsFieldRefs { + readonly id: Prisma.FieldRef<"payment_methods", 'String'> + readonly professional_id: Prisma.FieldRef<"payment_methods", 'String'> + readonly nequi: Prisma.FieldRef<"payment_methods", 'Boolean'> + readonly datafono: Prisma.FieldRef<"payment_methods", 'Boolean'> + readonly transferencia: Prisma.FieldRef<"payment_methods", 'Boolean'> +} + + +// Custom InputTypes +/** + * payment_methods findUnique + */ +export type payment_methodsFindUniqueArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * Filter, which payment_methods to fetch. + */ + where: Prisma.payment_methodsWhereUniqueInput +} + +/** + * payment_methods findUniqueOrThrow + */ +export type payment_methodsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * Filter, which payment_methods to fetch. + */ + where: Prisma.payment_methodsWhereUniqueInput +} + +/** + * payment_methods findFirst + */ +export type payment_methodsFindFirstArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * Filter, which payment_methods to fetch. + */ + where?: Prisma.payment_methodsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of payment_methods to fetch. + */ + orderBy?: Prisma.payment_methodsOrderByWithRelationInput | Prisma.payment_methodsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for payment_methods. + */ + cursor?: Prisma.payment_methodsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` payment_methods 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` payment_methods. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of payment_methods. + */ + distinct?: Prisma.Payment_methodsScalarFieldEnum | Prisma.Payment_methodsScalarFieldEnum[] +} + +/** + * payment_methods findFirstOrThrow + */ +export type payment_methodsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * Filter, which payment_methods to fetch. + */ + where?: Prisma.payment_methodsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of payment_methods to fetch. + */ + orderBy?: Prisma.payment_methodsOrderByWithRelationInput | Prisma.payment_methodsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for payment_methods. + */ + cursor?: Prisma.payment_methodsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` payment_methods 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` payment_methods. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of payment_methods. + */ + distinct?: Prisma.Payment_methodsScalarFieldEnum | Prisma.Payment_methodsScalarFieldEnum[] +} + +/** + * payment_methods findMany + */ +export type payment_methodsFindManyArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * Filter, which payment_methods to fetch. + */ + where?: Prisma.payment_methodsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of payment_methods to fetch. + */ + orderBy?: Prisma.payment_methodsOrderByWithRelationInput | Prisma.payment_methodsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing payment_methods. + */ + cursor?: Prisma.payment_methodsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` payment_methods 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` payment_methods. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of payment_methods. + */ + distinct?: Prisma.Payment_methodsScalarFieldEnum | Prisma.Payment_methodsScalarFieldEnum[] +} + +/** + * payment_methods create + */ +export type payment_methodsCreateArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * The data needed to create a payment_methods. + */ + data: Prisma.XOR +} + +/** + * payment_methods createMany + */ +export type payment_methodsCreateManyArgs = { + /** + * The data used to create many payment_methods. + */ + data: Prisma.payment_methodsCreateManyInput | Prisma.payment_methodsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * payment_methods createManyAndReturn + */ +export type payment_methodsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * The data used to create many payment_methods. + */ + data: Prisma.payment_methodsCreateManyInput | Prisma.payment_methodsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsIncludeCreateManyAndReturn | null +} + +/** + * payment_methods update + */ +export type payment_methodsUpdateArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * The data needed to update a payment_methods. + */ + data: Prisma.XOR + /** + * Choose, which payment_methods to update. + */ + where: Prisma.payment_methodsWhereUniqueInput +} + +/** + * payment_methods updateMany + */ +export type payment_methodsUpdateManyArgs = { + /** + * The data used to update payment_methods. + */ + data: Prisma.XOR + /** + * Filter which payment_methods to update + */ + where?: Prisma.payment_methodsWhereInput + /** + * Limit how many payment_methods to update. + */ + limit?: number +} + +/** + * payment_methods updateManyAndReturn + */ +export type payment_methodsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * The data used to update payment_methods. + */ + data: Prisma.XOR + /** + * Filter which payment_methods to update + */ + where?: Prisma.payment_methodsWhereInput + /** + * Limit how many payment_methods to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsIncludeUpdateManyAndReturn | null +} + +/** + * payment_methods upsert + */ +export type payment_methodsUpsertArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * The filter to search for the payment_methods to update in case it exists. + */ + where: Prisma.payment_methodsWhereUniqueInput + /** + * In case the payment_methods found by the `where` argument doesn't exist, create a new payment_methods with this data. + */ + create: Prisma.XOR + /** + * In case the payment_methods was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * payment_methods delete + */ +export type payment_methodsDeleteArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + /** + * Filter which payment_methods to delete. + */ + where: Prisma.payment_methodsWhereUniqueInput +} + +/** + * payment_methods deleteMany + */ +export type payment_methodsDeleteManyArgs = { + /** + * Filter which payment_methods to delete + */ + where?: Prisma.payment_methodsWhereInput + /** + * Limit how many payment_methods to delete. + */ + limit?: number +} + +/** + * payment_methods without action + */ +export type payment_methodsDefaultArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null +} diff --git a/backend/src/generated/prisma/models/professionals.ts b/backend/src/generated/prisma/models/professionals.ts new file mode 100644 index 0000000..e804027 --- /dev/null +++ b/backend/src/generated/prisma/models/professionals.ts @@ -0,0 +1,2482 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `professionals` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model professionals + * + */ +export type professionalsModel = runtime.Types.Result.DefaultSelection + +export type AggregateProfessionals = { + _count: ProfessionalsCountAggregateOutputType | null + _avg: ProfessionalsAvgAggregateOutputType | null + _sum: ProfessionalsSumAggregateOutputType | null + _min: ProfessionalsMinAggregateOutputType | null + _max: ProfessionalsMaxAggregateOutputType | null +} + +export type ProfessionalsAvgAggregateOutputType = { + rate: runtime.Decimal | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + average_score: runtime.Decimal | null +} + +export type ProfessionalsSumAggregateOutputType = { + rate: runtime.Decimal | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + average_score: runtime.Decimal | null +} + +export type ProfessionalsMinAggregateOutputType = { + id: string | null + user_id: string | null + identification: string | null + address: string | null + additional_address: string | null + profession: string | null + rate: runtime.Decimal | null + rate_preferences: string | null + location_preferences: string | null + banner_picture: string | null + identification_picture: string | null + certificate_picture: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + average_score: runtime.Decimal | null + is_active: boolean | null + created_at: Date | null + updated_at: Date | null +} + +export type ProfessionalsMaxAggregateOutputType = { + id: string | null + user_id: string | null + identification: string | null + address: string | null + additional_address: string | null + profession: string | null + rate: runtime.Decimal | null + rate_preferences: string | null + location_preferences: string | null + banner_picture: string | null + identification_picture: string | null + certificate_picture: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + average_score: runtime.Decimal | null + is_active: boolean | null + created_at: Date | null + updated_at: Date | null +} + +export type ProfessionalsCountAggregateOutputType = { + id: number + user_id: number + identification: number + address: number + additional_address: number + profession: number + rate: number + rate_preferences: number + location_preferences: number + banner_picture: number + identification_picture: number + certificate_picture: number + latitude: number + longitude: number + average_score: number + is_active: number + created_at: number + updated_at: number + _all: number +} + + +export type ProfessionalsAvgAggregateInputType = { + rate?: true + latitude?: true + longitude?: true + average_score?: true +} + +export type ProfessionalsSumAggregateInputType = { + rate?: true + latitude?: true + longitude?: true + average_score?: true +} + +export type ProfessionalsMinAggregateInputType = { + id?: true + user_id?: true + identification?: true + address?: true + additional_address?: true + profession?: true + rate?: true + rate_preferences?: true + location_preferences?: true + banner_picture?: true + identification_picture?: true + certificate_picture?: true + latitude?: true + longitude?: true + average_score?: true + is_active?: true + created_at?: true + updated_at?: true +} + +export type ProfessionalsMaxAggregateInputType = { + id?: true + user_id?: true + identification?: true + address?: true + additional_address?: true + profession?: true + rate?: true + rate_preferences?: true + location_preferences?: true + banner_picture?: true + identification_picture?: true + certificate_picture?: true + latitude?: true + longitude?: true + average_score?: true + is_active?: true + created_at?: true + updated_at?: true +} + +export type ProfessionalsCountAggregateInputType = { + id?: true + user_id?: true + identification?: true + address?: true + additional_address?: true + profession?: true + rate?: true + rate_preferences?: true + location_preferences?: true + banner_picture?: true + identification_picture?: true + certificate_picture?: true + latitude?: true + longitude?: true + average_score?: true + is_active?: true + created_at?: true + updated_at?: true + _all?: true +} + +export type ProfessionalsAggregateArgs = { + /** + * Filter which professionals to aggregate. + */ + where?: Prisma.professionalsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of professionals to fetch. + */ + orderBy?: Prisma.professionalsOrderByWithRelationInput | Prisma.professionalsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.professionalsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` professionals 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` professionals. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned professionals + **/ + _count?: true | ProfessionalsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ProfessionalsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ProfessionalsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ProfessionalsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ProfessionalsMaxAggregateInputType +} + +export type GetProfessionalsAggregateType = { + [P in keyof T & keyof AggregateProfessionals]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type professionalsGroupByArgs = { + where?: Prisma.professionalsWhereInput + orderBy?: Prisma.professionalsOrderByWithAggregationInput | Prisma.professionalsOrderByWithAggregationInput[] + by: Prisma.ProfessionalsScalarFieldEnum[] | Prisma.ProfessionalsScalarFieldEnum + having?: Prisma.professionalsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ProfessionalsCountAggregateInputType | true + _avg?: ProfessionalsAvgAggregateInputType + _sum?: ProfessionalsSumAggregateInputType + _min?: ProfessionalsMinAggregateInputType + _max?: ProfessionalsMaxAggregateInputType +} + +export type ProfessionalsGroupByOutputType = { + id: string + user_id: string + identification: string | null + address: string | null + additional_address: string | null + profession: string | null + rate: runtime.Decimal | null + rate_preferences: string | null + location_preferences: string | null + banner_picture: string | null + identification_picture: string | null + certificate_picture: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + average_score: runtime.Decimal | null + is_active: boolean | null + created_at: Date + updated_at: Date + _count: ProfessionalsCountAggregateOutputType | null + _avg: ProfessionalsAvgAggregateOutputType | null + _sum: ProfessionalsSumAggregateOutputType | null + _min: ProfessionalsMinAggregateOutputType | null + _max: ProfessionalsMaxAggregateOutputType | null +} + +export type GetProfessionalsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ProfessionalsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type professionalsWhereInput = { + AND?: Prisma.professionalsWhereInput | Prisma.professionalsWhereInput[] + OR?: Prisma.professionalsWhereInput[] + NOT?: Prisma.professionalsWhereInput | Prisma.professionalsWhereInput[] + id?: Prisma.UuidFilter<"professionals"> | string + user_id?: Prisma.UuidFilter<"professionals"> | string + identification?: Prisma.StringNullableFilter<"professionals"> | string | null + address?: Prisma.StringNullableFilter<"professionals"> | string | null + additional_address?: Prisma.StringNullableFilter<"professionals"> | string | null + profession?: Prisma.StringNullableFilter<"professionals"> | string | null + rate?: Prisma.DecimalNullableFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.StringNullableFilter<"professionals"> | string | null + location_preferences?: Prisma.StringNullableFilter<"professionals"> | string | null + banner_picture?: Prisma.StringNullableFilter<"professionals"> | string | null + identification_picture?: Prisma.StringNullableFilter<"professionals"> | string | null + certificate_picture?: Prisma.StringNullableFilter<"professionals"> | string | null + latitude?: Prisma.DecimalNullableFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.DecimalNullableFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.BoolNullableFilter<"professionals"> | boolean | null + created_at?: Prisma.DateTimeFilter<"professionals"> | Date | string + updated_at?: Prisma.DateTimeFilter<"professionals"> | Date | string + payment_methods?: Prisma.XOR | null + users?: Prisma.XOR + schedules?: Prisma.SchedulesListRelationFilter + services?: Prisma.ServicesListRelationFilter + specializations?: Prisma.SpecializationsListRelationFilter +} + +export type professionalsOrderByWithRelationInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + identification?: Prisma.SortOrderInput | Prisma.SortOrder + address?: Prisma.SortOrderInput | Prisma.SortOrder + additional_address?: Prisma.SortOrderInput | Prisma.SortOrder + profession?: Prisma.SortOrderInput | Prisma.SortOrder + rate?: Prisma.SortOrderInput | Prisma.SortOrder + rate_preferences?: Prisma.SortOrderInput | Prisma.SortOrder + location_preferences?: Prisma.SortOrderInput | Prisma.SortOrder + banner_picture?: Prisma.SortOrderInput | Prisma.SortOrder + identification_picture?: Prisma.SortOrderInput | Prisma.SortOrder + certificate_picture?: Prisma.SortOrderInput | Prisma.SortOrder + latitude?: Prisma.SortOrderInput | Prisma.SortOrder + longitude?: Prisma.SortOrderInput | Prisma.SortOrder + average_score?: Prisma.SortOrderInput | Prisma.SortOrder + is_active?: Prisma.SortOrderInput | Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + payment_methods?: Prisma.payment_methodsOrderByWithRelationInput + users?: Prisma.usersOrderByWithRelationInput + schedules?: Prisma.schedulesOrderByRelationAggregateInput + services?: Prisma.servicesOrderByRelationAggregateInput + specializations?: Prisma.specializationsOrderByRelationAggregateInput +} + +export type professionalsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + user_id?: string + AND?: Prisma.professionalsWhereInput | Prisma.professionalsWhereInput[] + OR?: Prisma.professionalsWhereInput[] + NOT?: Prisma.professionalsWhereInput | Prisma.professionalsWhereInput[] + identification?: Prisma.StringNullableFilter<"professionals"> | string | null + address?: Prisma.StringNullableFilter<"professionals"> | string | null + additional_address?: Prisma.StringNullableFilter<"professionals"> | string | null + profession?: Prisma.StringNullableFilter<"professionals"> | string | null + rate?: Prisma.DecimalNullableFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.StringNullableFilter<"professionals"> | string | null + location_preferences?: Prisma.StringNullableFilter<"professionals"> | string | null + banner_picture?: Prisma.StringNullableFilter<"professionals"> | string | null + identification_picture?: Prisma.StringNullableFilter<"professionals"> | string | null + certificate_picture?: Prisma.StringNullableFilter<"professionals"> | string | null + latitude?: Prisma.DecimalNullableFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.DecimalNullableFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.BoolNullableFilter<"professionals"> | boolean | null + created_at?: Prisma.DateTimeFilter<"professionals"> | Date | string + updated_at?: Prisma.DateTimeFilter<"professionals"> | Date | string + payment_methods?: Prisma.XOR | null + users?: Prisma.XOR + schedules?: Prisma.SchedulesListRelationFilter + services?: Prisma.ServicesListRelationFilter + specializations?: Prisma.SpecializationsListRelationFilter +}, "id" | "user_id"> + +export type professionalsOrderByWithAggregationInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + identification?: Prisma.SortOrderInput | Prisma.SortOrder + address?: Prisma.SortOrderInput | Prisma.SortOrder + additional_address?: Prisma.SortOrderInput | Prisma.SortOrder + profession?: Prisma.SortOrderInput | Prisma.SortOrder + rate?: Prisma.SortOrderInput | Prisma.SortOrder + rate_preferences?: Prisma.SortOrderInput | Prisma.SortOrder + location_preferences?: Prisma.SortOrderInput | Prisma.SortOrder + banner_picture?: Prisma.SortOrderInput | Prisma.SortOrder + identification_picture?: Prisma.SortOrderInput | Prisma.SortOrder + certificate_picture?: Prisma.SortOrderInput | Prisma.SortOrder + latitude?: Prisma.SortOrderInput | Prisma.SortOrder + longitude?: Prisma.SortOrderInput | Prisma.SortOrder + average_score?: Prisma.SortOrderInput | Prisma.SortOrder + is_active?: Prisma.SortOrderInput | Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + _count?: Prisma.professionalsCountOrderByAggregateInput + _avg?: Prisma.professionalsAvgOrderByAggregateInput + _max?: Prisma.professionalsMaxOrderByAggregateInput + _min?: Prisma.professionalsMinOrderByAggregateInput + _sum?: Prisma.professionalsSumOrderByAggregateInput +} + +export type professionalsScalarWhereWithAggregatesInput = { + AND?: Prisma.professionalsScalarWhereWithAggregatesInput | Prisma.professionalsScalarWhereWithAggregatesInput[] + OR?: Prisma.professionalsScalarWhereWithAggregatesInput[] + NOT?: Prisma.professionalsScalarWhereWithAggregatesInput | Prisma.professionalsScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"professionals"> | string + user_id?: Prisma.UuidWithAggregatesFilter<"professionals"> | string + identification?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + address?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + additional_address?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + profession?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + rate?: Prisma.DecimalNullableWithAggregatesFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + location_preferences?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + banner_picture?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + identification_picture?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + certificate_picture?: Prisma.StringNullableWithAggregatesFilter<"professionals"> | string | null + latitude?: Prisma.DecimalNullableWithAggregatesFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableWithAggregatesFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.DecimalNullableWithAggregatesFilter<"professionals"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.BoolNullableWithAggregatesFilter<"professionals"> | boolean | null + created_at?: Prisma.DateTimeWithAggregatesFilter<"professionals"> | Date | string + updated_at?: Prisma.DateTimeWithAggregatesFilter<"professionals"> | Date | string +} + +export type professionalsCreateInput = { + id?: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsCreateNestedOneWithoutProfessionalsInput + users: Prisma.usersCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesCreateNestedManyWithoutProfessionalsInput + services?: Prisma.servicesCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsUncheckedCreateInput = { + id?: string + user_id: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsUncheckedCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesUncheckedCreateNestedManyWithoutProfessionalsInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsUncheckedCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUpdateOneWithoutProfessionalsNestedInput + users?: Prisma.usersUpdateOneRequiredWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUpdateManyWithoutProfessionalsNestedInput + services?: Prisma.servicesUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUncheckedUpdateOneWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUncheckedUpdateManyWithoutProfessionalsNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUncheckedUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsCreateManyInput = { + id?: string + user_id: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string +} + +export type professionalsUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type professionalsUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProfessionalsScalarRelationFilter = { + is?: Prisma.professionalsWhereInput + isNot?: Prisma.professionalsWhereInput +} + +export type professionalsCountOrderByAggregateInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + identification?: Prisma.SortOrder + address?: Prisma.SortOrder + additional_address?: Prisma.SortOrder + profession?: Prisma.SortOrder + rate?: Prisma.SortOrder + rate_preferences?: Prisma.SortOrder + location_preferences?: Prisma.SortOrder + banner_picture?: Prisma.SortOrder + identification_picture?: Prisma.SortOrder + certificate_picture?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + average_score?: Prisma.SortOrder + is_active?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type professionalsAvgOrderByAggregateInput = { + rate?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + average_score?: Prisma.SortOrder +} + +export type professionalsMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + identification?: Prisma.SortOrder + address?: Prisma.SortOrder + additional_address?: Prisma.SortOrder + profession?: Prisma.SortOrder + rate?: Prisma.SortOrder + rate_preferences?: Prisma.SortOrder + location_preferences?: Prisma.SortOrder + banner_picture?: Prisma.SortOrder + identification_picture?: Prisma.SortOrder + certificate_picture?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + average_score?: Prisma.SortOrder + is_active?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type professionalsMinOrderByAggregateInput = { + id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + identification?: Prisma.SortOrder + address?: Prisma.SortOrder + additional_address?: Prisma.SortOrder + profession?: Prisma.SortOrder + rate?: Prisma.SortOrder + rate_preferences?: Prisma.SortOrder + location_preferences?: Prisma.SortOrder + banner_picture?: Prisma.SortOrder + identification_picture?: Prisma.SortOrder + certificate_picture?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + average_score?: Prisma.SortOrder + is_active?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type professionalsSumOrderByAggregateInput = { + rate?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + average_score?: Prisma.SortOrder +} + +export type ProfessionalsNullableScalarRelationFilter = { + is?: Prisma.professionalsWhereInput | null + isNot?: Prisma.professionalsWhereInput | null +} + +export type professionalsCreateNestedOneWithoutPayment_methodsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutPayment_methodsInput + connect?: Prisma.professionalsWhereUniqueInput +} + +export type professionalsUpdateOneRequiredWithoutPayment_methodsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutPayment_methodsInput + upsert?: Prisma.professionalsUpsertWithoutPayment_methodsInput + connect?: Prisma.professionalsWhereUniqueInput + update?: Prisma.XOR, Prisma.professionalsUncheckedUpdateWithoutPayment_methodsInput> +} + +export type professionalsCreateNestedOneWithoutSchedulesInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutSchedulesInput + connect?: Prisma.professionalsWhereUniqueInput +} + +export type professionalsUpdateOneRequiredWithoutSchedulesNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutSchedulesInput + upsert?: Prisma.professionalsUpsertWithoutSchedulesInput + connect?: Prisma.professionalsWhereUniqueInput + update?: Prisma.XOR, Prisma.professionalsUncheckedUpdateWithoutSchedulesInput> +} + +export type professionalsCreateNestedOneWithoutServicesInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutServicesInput + connect?: Prisma.professionalsWhereUniqueInput +} + +export type professionalsUpdateOneRequiredWithoutServicesNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutServicesInput + upsert?: Prisma.professionalsUpsertWithoutServicesInput + connect?: Prisma.professionalsWhereUniqueInput + update?: Prisma.XOR, Prisma.professionalsUncheckedUpdateWithoutServicesInput> +} + +export type professionalsCreateNestedOneWithoutSpecializationsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutSpecializationsInput + connect?: Prisma.professionalsWhereUniqueInput +} + +export type professionalsUpdateOneRequiredWithoutSpecializationsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutSpecializationsInput + upsert?: Prisma.professionalsUpsertWithoutSpecializationsInput + connect?: Prisma.professionalsWhereUniqueInput + update?: Prisma.XOR, Prisma.professionalsUncheckedUpdateWithoutSpecializationsInput> +} + +export type professionalsCreateNestedOneWithoutUsersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutUsersInput + connect?: Prisma.professionalsWhereUniqueInput +} + +export type professionalsUncheckedCreateNestedOneWithoutUsersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutUsersInput + connect?: Prisma.professionalsWhereUniqueInput +} + +export type professionalsUpdateOneWithoutUsersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutUsersInput + upsert?: Prisma.professionalsUpsertWithoutUsersInput + disconnect?: Prisma.professionalsWhereInput | boolean + delete?: Prisma.professionalsWhereInput | boolean + connect?: Prisma.professionalsWhereUniqueInput + update?: Prisma.XOR, Prisma.professionalsUncheckedUpdateWithoutUsersInput> +} + +export type professionalsUncheckedUpdateOneWithoutUsersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.professionalsCreateOrConnectWithoutUsersInput + upsert?: Prisma.professionalsUpsertWithoutUsersInput + disconnect?: Prisma.professionalsWhereInput | boolean + delete?: Prisma.professionalsWhereInput | boolean + connect?: Prisma.professionalsWhereUniqueInput + update?: Prisma.XOR, Prisma.professionalsUncheckedUpdateWithoutUsersInput> +} + +export type professionalsCreateWithoutPayment_methodsInput = { + id?: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + users: Prisma.usersCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesCreateNestedManyWithoutProfessionalsInput + services?: Prisma.servicesCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsUncheckedCreateWithoutPayment_methodsInput = { + id?: string + user_id: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + schedules?: Prisma.schedulesUncheckedCreateNestedManyWithoutProfessionalsInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsUncheckedCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsCreateOrConnectWithoutPayment_methodsInput = { + where: Prisma.professionalsWhereUniqueInput + create: Prisma.XOR +} + +export type professionalsUpsertWithoutPayment_methodsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.professionalsWhereInput +} + +export type professionalsUpdateToOneWithWhereWithoutPayment_methodsInput = { + where?: Prisma.professionalsWhereInput + data: Prisma.XOR +} + +export type professionalsUpdateWithoutPayment_methodsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users?: Prisma.usersUpdateOneRequiredWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUpdateManyWithoutProfessionalsNestedInput + services?: Prisma.servicesUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsUncheckedUpdateWithoutPayment_methodsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + schedules?: Prisma.schedulesUncheckedUpdateManyWithoutProfessionalsNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUncheckedUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsCreateWithoutSchedulesInput = { + id?: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsCreateNestedOneWithoutProfessionalsInput + users: Prisma.usersCreateNestedOneWithoutProfessionalsInput + services?: Prisma.servicesCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsUncheckedCreateWithoutSchedulesInput = { + id?: string + user_id: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsUncheckedCreateNestedOneWithoutProfessionalsInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsUncheckedCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsCreateOrConnectWithoutSchedulesInput = { + where: Prisma.professionalsWhereUniqueInput + create: Prisma.XOR +} + +export type professionalsUpsertWithoutSchedulesInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.professionalsWhereInput +} + +export type professionalsUpdateToOneWithWhereWithoutSchedulesInput = { + where?: Prisma.professionalsWhereInput + data: Prisma.XOR +} + +export type professionalsUpdateWithoutSchedulesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUpdateOneWithoutProfessionalsNestedInput + users?: Prisma.usersUpdateOneRequiredWithoutProfessionalsNestedInput + services?: Prisma.servicesUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsUncheckedUpdateWithoutSchedulesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUncheckedUpdateOneWithoutProfessionalsNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUncheckedUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsCreateWithoutServicesInput = { + id?: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsCreateNestedOneWithoutProfessionalsInput + users: Prisma.usersCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsUncheckedCreateWithoutServicesInput = { + id?: string + user_id: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsUncheckedCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesUncheckedCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsUncheckedCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsCreateOrConnectWithoutServicesInput = { + where: Prisma.professionalsWhereUniqueInput + create: Prisma.XOR +} + +export type professionalsUpsertWithoutServicesInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.professionalsWhereInput +} + +export type professionalsUpdateToOneWithWhereWithoutServicesInput = { + where?: Prisma.professionalsWhereInput + data: Prisma.XOR +} + +export type professionalsUpdateWithoutServicesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUpdateOneWithoutProfessionalsNestedInput + users?: Prisma.usersUpdateOneRequiredWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsUncheckedUpdateWithoutServicesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUncheckedUpdateOneWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUncheckedUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUncheckedUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsCreateWithoutSpecializationsInput = { + id?: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsCreateNestedOneWithoutProfessionalsInput + users: Prisma.usersCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesCreateNestedManyWithoutProfessionalsInput + services?: Prisma.servicesCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsUncheckedCreateWithoutSpecializationsInput = { + id?: string + user_id: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsUncheckedCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesUncheckedCreateNestedManyWithoutProfessionalsInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsCreateOrConnectWithoutSpecializationsInput = { + where: Prisma.professionalsWhereUniqueInput + create: Prisma.XOR +} + +export type professionalsUpsertWithoutSpecializationsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.professionalsWhereInput +} + +export type professionalsUpdateToOneWithWhereWithoutSpecializationsInput = { + where?: Prisma.professionalsWhereInput + data: Prisma.XOR +} + +export type professionalsUpdateWithoutSpecializationsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUpdateOneWithoutProfessionalsNestedInput + users?: Prisma.usersUpdateOneRequiredWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUpdateManyWithoutProfessionalsNestedInput + services?: Prisma.servicesUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsUncheckedUpdateWithoutSpecializationsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUncheckedUpdateOneWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUncheckedUpdateManyWithoutProfessionalsNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsCreateWithoutUsersInput = { + id?: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesCreateNestedManyWithoutProfessionalsInput + services?: Prisma.servicesCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsUncheckedCreateWithoutUsersInput = { + id?: string + identification?: string | null + address?: string | null + additional_address?: string | null + profession?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: string | null + location_preferences?: string | null + banner_picture?: string | null + identification_picture?: string | null + certificate_picture?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: boolean | null + created_at?: Date | string + updated_at?: Date | string + payment_methods?: Prisma.payment_methodsUncheckedCreateNestedOneWithoutProfessionalsInput + schedules?: Prisma.schedulesUncheckedCreateNestedManyWithoutProfessionalsInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutProfessionalsInput + specializations?: Prisma.specializationsUncheckedCreateNestedManyWithoutProfessionalsInput +} + +export type professionalsCreateOrConnectWithoutUsersInput = { + where: Prisma.professionalsWhereUniqueInput + create: Prisma.XOR +} + +export type professionalsUpsertWithoutUsersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.professionalsWhereInput +} + +export type professionalsUpdateToOneWithWhereWithoutUsersInput = { + where?: Prisma.professionalsWhereInput + data: Prisma.XOR +} + +export type professionalsUpdateWithoutUsersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUpdateOneWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUpdateManyWithoutProfessionalsNestedInput + services?: Prisma.servicesUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUpdateManyWithoutProfessionalsNestedInput +} + +export type professionalsUncheckedUpdateWithoutUsersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + identification?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + profession?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + rate_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + location_preferences?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banner_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + identification_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + certificate_picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + average_score?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + is_active?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + payment_methods?: Prisma.payment_methodsUncheckedUpdateOneWithoutProfessionalsNestedInput + schedules?: Prisma.schedulesUncheckedUpdateManyWithoutProfessionalsNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutProfessionalsNestedInput + specializations?: Prisma.specializationsUncheckedUpdateManyWithoutProfessionalsNestedInput +} + + +/** + * Count Type ProfessionalsCountOutputType + */ + +export type ProfessionalsCountOutputType = { + schedules: number + services: number + specializations: number +} + +export type ProfessionalsCountOutputTypeSelect = { + schedules?: boolean | ProfessionalsCountOutputTypeCountSchedulesArgs + services?: boolean | ProfessionalsCountOutputTypeCountServicesArgs + specializations?: boolean | ProfessionalsCountOutputTypeCountSpecializationsArgs +} + +/** + * ProfessionalsCountOutputType without action + */ +export type ProfessionalsCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the ProfessionalsCountOutputType + */ + select?: Prisma.ProfessionalsCountOutputTypeSelect | null +} + +/** + * ProfessionalsCountOutputType without action + */ +export type ProfessionalsCountOutputTypeCountSchedulesArgs = { + where?: Prisma.schedulesWhereInput +} + +/** + * ProfessionalsCountOutputType without action + */ +export type ProfessionalsCountOutputTypeCountServicesArgs = { + where?: Prisma.servicesWhereInput +} + +/** + * ProfessionalsCountOutputType without action + */ +export type ProfessionalsCountOutputTypeCountSpecializationsArgs = { + where?: Prisma.specializationsWhereInput +} + + +export type professionalsSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + user_id?: boolean + identification?: boolean + address?: boolean + additional_address?: boolean + profession?: boolean + rate?: boolean + rate_preferences?: boolean + location_preferences?: boolean + banner_picture?: boolean + identification_picture?: boolean + certificate_picture?: boolean + latitude?: boolean + longitude?: boolean + average_score?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + payment_methods?: boolean | Prisma.professionals$payment_methodsArgs + users?: boolean | Prisma.usersDefaultArgs + schedules?: boolean | Prisma.professionals$schedulesArgs + services?: boolean | Prisma.professionals$servicesArgs + specializations?: boolean | Prisma.professionals$specializationsArgs + _count?: boolean | Prisma.ProfessionalsCountOutputTypeDefaultArgs +}, ExtArgs["result"]["professionals"]> + +export type professionalsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + user_id?: boolean + identification?: boolean + address?: boolean + additional_address?: boolean + profession?: boolean + rate?: boolean + rate_preferences?: boolean + location_preferences?: boolean + banner_picture?: boolean + identification_picture?: boolean + certificate_picture?: boolean + latitude?: boolean + longitude?: boolean + average_score?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["professionals"]> + +export type professionalsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + user_id?: boolean + identification?: boolean + address?: boolean + additional_address?: boolean + profession?: boolean + rate?: boolean + rate_preferences?: boolean + location_preferences?: boolean + banner_picture?: boolean + identification_picture?: boolean + certificate_picture?: boolean + latitude?: boolean + longitude?: boolean + average_score?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["professionals"]> + +export type professionalsSelectScalar = { + id?: boolean + user_id?: boolean + identification?: boolean + address?: boolean + additional_address?: boolean + profession?: boolean + rate?: boolean + rate_preferences?: boolean + location_preferences?: boolean + banner_picture?: boolean + identification_picture?: boolean + certificate_picture?: boolean + latitude?: boolean + longitude?: boolean + average_score?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean +} + +export type professionalsOmit = runtime.Types.Extensions.GetOmit<"id" | "user_id" | "identification" | "address" | "additional_address" | "profession" | "rate" | "rate_preferences" | "location_preferences" | "banner_picture" | "identification_picture" | "certificate_picture" | "latitude" | "longitude" | "average_score" | "is_active" | "created_at" | "updated_at", ExtArgs["result"]["professionals"]> +export type professionalsInclude = { + payment_methods?: boolean | Prisma.professionals$payment_methodsArgs + users?: boolean | Prisma.usersDefaultArgs + schedules?: boolean | Prisma.professionals$schedulesArgs + services?: boolean | Prisma.professionals$servicesArgs + specializations?: boolean | Prisma.professionals$specializationsArgs + _count?: boolean | Prisma.ProfessionalsCountOutputTypeDefaultArgs +} +export type professionalsIncludeCreateManyAndReturn = { + users?: boolean | Prisma.usersDefaultArgs +} +export type professionalsIncludeUpdateManyAndReturn = { + users?: boolean | Prisma.usersDefaultArgs +} + +export type $professionalsPayload = { + name: "professionals" + objects: { + payment_methods: Prisma.$payment_methodsPayload | null + users: Prisma.$usersPayload + schedules: Prisma.$schedulesPayload[] + services: Prisma.$servicesPayload[] + specializations: Prisma.$specializationsPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + user_id: string + identification: string | null + address: string | null + additional_address: string | null + profession: string | null + rate: runtime.Decimal | null + rate_preferences: string | null + location_preferences: string | null + banner_picture: string | null + identification_picture: string | null + certificate_picture: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + average_score: runtime.Decimal | null + is_active: boolean | null + created_at: Date + updated_at: Date + }, ExtArgs["result"]["professionals"]> + composites: {} +} + +export type professionalsGetPayload = runtime.Types.Result.GetResult + +export type professionalsCountArgs = + Omit & { + select?: ProfessionalsCountAggregateInputType | true + } + +export interface professionalsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['professionals'], meta: { name: 'professionals' } } + /** + * Find zero or one Professionals that matches the filter. + * @param {professionalsFindUniqueArgs} args - Arguments to find a Professionals + * @example + * // Get one Professionals + * const professionals = await prisma.professionals.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__professionalsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Professionals that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {professionalsFindUniqueOrThrowArgs} args - Arguments to find a Professionals + * @example + * // Get one Professionals + * const professionals = await prisma.professionals.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__professionalsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Professionals 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 {professionalsFindFirstArgs} args - Arguments to find a Professionals + * @example + * // Get one Professionals + * const professionals = await prisma.professionals.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__professionalsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Professionals 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 {professionalsFindFirstOrThrowArgs} args - Arguments to find a Professionals + * @example + * // Get one Professionals + * const professionals = await prisma.professionals.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__professionalsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Professionals 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 {professionalsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Professionals + * const professionals = await prisma.professionals.findMany() + * + * // Get first 10 Professionals + * const professionals = await prisma.professionals.findMany({ take: 10 }) + * + * // Only select the `id` + * const professionalsWithIdOnly = await prisma.professionals.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Professionals. + * @param {professionalsCreateArgs} args - Arguments to create a Professionals. + * @example + * // Create one Professionals + * const Professionals = await prisma.professionals.create({ + * data: { + * // ... data to create a Professionals + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__professionalsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Professionals. + * @param {professionalsCreateManyArgs} args - Arguments to create many Professionals. + * @example + * // Create many Professionals + * const professionals = await prisma.professionals.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Professionals and returns the data saved in the database. + * @param {professionalsCreateManyAndReturnArgs} args - Arguments to create many Professionals. + * @example + * // Create many Professionals + * const professionals = await prisma.professionals.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Professionals and only return the `id` + * const professionalsWithIdOnly = await prisma.professionals.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 Professionals. + * @param {professionalsDeleteArgs} args - Arguments to delete one Professionals. + * @example + * // Delete one Professionals + * const Professionals = await prisma.professionals.delete({ + * where: { + * // ... filter to delete one Professionals + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__professionalsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Professionals. + * @param {professionalsUpdateArgs} args - Arguments to update one Professionals. + * @example + * // Update one Professionals + * const professionals = await prisma.professionals.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__professionalsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Professionals. + * @param {professionalsDeleteManyArgs} args - Arguments to filter Professionals to delete. + * @example + * // Delete a few Professionals + * const { count } = await prisma.professionals.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Professionals. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {professionalsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Professionals + * const professionals = await prisma.professionals.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Professionals and returns the data updated in the database. + * @param {professionalsUpdateManyAndReturnArgs} args - Arguments to update many Professionals. + * @example + * // Update many Professionals + * const professionals = await prisma.professionals.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Professionals and only return the `id` + * const professionalsWithIdOnly = await prisma.professionals.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 Professionals. + * @param {professionalsUpsertArgs} args - Arguments to update or create a Professionals. + * @example + * // Update or create a Professionals + * const professionals = await prisma.professionals.upsert({ + * create: { + * // ... data to create a Professionals + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Professionals we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__professionalsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Professionals. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {professionalsCountArgs} args - Arguments to filter Professionals to count. + * @example + * // Count the number of Professionals + * const count = await prisma.professionals.count({ + * where: { + * // ... the filter for the Professionals 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 Professionals. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfessionalsAggregateArgs} 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 Professionals. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {professionalsGroupByArgs} 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 professionalsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: professionalsGroupByArgs['orderBy'] } + : { orderBy?: professionalsGroupByArgs['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 ? GetProfessionalsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the professionals model + */ +readonly fields: professionalsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for professionals. + * 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__professionalsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + payment_methods = {}>(args?: Prisma.Subset>): Prisma.Prisma__payment_methodsClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + users = {}>(args?: Prisma.Subset>): Prisma.Prisma__usersClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + schedules = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + services = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + specializations = {}>(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 professionals model + */ +export interface professionalsFieldRefs { + readonly id: Prisma.FieldRef<"professionals", 'String'> + readonly user_id: Prisma.FieldRef<"professionals", 'String'> + readonly identification: Prisma.FieldRef<"professionals", 'String'> + readonly address: Prisma.FieldRef<"professionals", 'String'> + readonly additional_address: Prisma.FieldRef<"professionals", 'String'> + readonly profession: Prisma.FieldRef<"professionals", 'String'> + readonly rate: Prisma.FieldRef<"professionals", 'Decimal'> + readonly rate_preferences: Prisma.FieldRef<"professionals", 'String'> + readonly location_preferences: Prisma.FieldRef<"professionals", 'String'> + readonly banner_picture: Prisma.FieldRef<"professionals", 'String'> + readonly identification_picture: Prisma.FieldRef<"professionals", 'String'> + readonly certificate_picture: Prisma.FieldRef<"professionals", 'String'> + readonly latitude: Prisma.FieldRef<"professionals", 'Decimal'> + readonly longitude: Prisma.FieldRef<"professionals", 'Decimal'> + readonly average_score: Prisma.FieldRef<"professionals", 'Decimal'> + readonly is_active: Prisma.FieldRef<"professionals", 'Boolean'> + readonly created_at: Prisma.FieldRef<"professionals", 'DateTime'> + readonly updated_at: Prisma.FieldRef<"professionals", 'DateTime'> +} + + +// Custom InputTypes +/** + * professionals findUnique + */ +export type professionalsFindUniqueArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * Filter, which professionals to fetch. + */ + where: Prisma.professionalsWhereUniqueInput +} + +/** + * professionals findUniqueOrThrow + */ +export type professionalsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * Filter, which professionals to fetch. + */ + where: Prisma.professionalsWhereUniqueInput +} + +/** + * professionals findFirst + */ +export type professionalsFindFirstArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * Filter, which professionals to fetch. + */ + where?: Prisma.professionalsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of professionals to fetch. + */ + orderBy?: Prisma.professionalsOrderByWithRelationInput | Prisma.professionalsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for professionals. + */ + cursor?: Prisma.professionalsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` professionals 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` professionals. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of professionals. + */ + distinct?: Prisma.ProfessionalsScalarFieldEnum | Prisma.ProfessionalsScalarFieldEnum[] +} + +/** + * professionals findFirstOrThrow + */ +export type professionalsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * Filter, which professionals to fetch. + */ + where?: Prisma.professionalsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of professionals to fetch. + */ + orderBy?: Prisma.professionalsOrderByWithRelationInput | Prisma.professionalsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for professionals. + */ + cursor?: Prisma.professionalsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` professionals 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` professionals. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of professionals. + */ + distinct?: Prisma.ProfessionalsScalarFieldEnum | Prisma.ProfessionalsScalarFieldEnum[] +} + +/** + * professionals findMany + */ +export type professionalsFindManyArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * Filter, which professionals to fetch. + */ + where?: Prisma.professionalsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of professionals to fetch. + */ + orderBy?: Prisma.professionalsOrderByWithRelationInput | Prisma.professionalsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing professionals. + */ + cursor?: Prisma.professionalsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` professionals 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` professionals. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of professionals. + */ + distinct?: Prisma.ProfessionalsScalarFieldEnum | Prisma.ProfessionalsScalarFieldEnum[] +} + +/** + * professionals create + */ +export type professionalsCreateArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * The data needed to create a professionals. + */ + data: Prisma.XOR +} + +/** + * professionals createMany + */ +export type professionalsCreateManyArgs = { + /** + * The data used to create many professionals. + */ + data: Prisma.professionalsCreateManyInput | Prisma.professionalsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * professionals createManyAndReturn + */ +export type professionalsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * The data used to create many professionals. + */ + data: Prisma.professionalsCreateManyInput | Prisma.professionalsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsIncludeCreateManyAndReturn | null +} + +/** + * professionals update + */ +export type professionalsUpdateArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * The data needed to update a professionals. + */ + data: Prisma.XOR + /** + * Choose, which professionals to update. + */ + where: Prisma.professionalsWhereUniqueInput +} + +/** + * professionals updateMany + */ +export type professionalsUpdateManyArgs = { + /** + * The data used to update professionals. + */ + data: Prisma.XOR + /** + * Filter which professionals to update + */ + where?: Prisma.professionalsWhereInput + /** + * Limit how many professionals to update. + */ + limit?: number +} + +/** + * professionals updateManyAndReturn + */ +export type professionalsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * The data used to update professionals. + */ + data: Prisma.XOR + /** + * Filter which professionals to update + */ + where?: Prisma.professionalsWhereInput + /** + * Limit how many professionals to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsIncludeUpdateManyAndReturn | null +} + +/** + * professionals upsert + */ +export type professionalsUpsertArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * The filter to search for the professionals to update in case it exists. + */ + where: Prisma.professionalsWhereUniqueInput + /** + * In case the professionals found by the `where` argument doesn't exist, create a new professionals with this data. + */ + create: Prisma.XOR + /** + * In case the professionals was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * professionals delete + */ +export type professionalsDeleteArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + /** + * Filter which professionals to delete. + */ + where: Prisma.professionalsWhereUniqueInput +} + +/** + * professionals deleteMany + */ +export type professionalsDeleteManyArgs = { + /** + * Filter which professionals to delete + */ + where?: Prisma.professionalsWhereInput + /** + * Limit how many professionals to delete. + */ + limit?: number +} + +/** + * professionals.payment_methods + */ +export type professionals$payment_methodsArgs = { + /** + * Select specific fields to fetch from the payment_methods + */ + select?: Prisma.payment_methodsSelect | null + /** + * Omit specific fields from the payment_methods + */ + omit?: Prisma.payment_methodsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.payment_methodsInclude | null + where?: Prisma.payment_methodsWhereInput +} + +/** + * professionals.schedules + */ +export type professionals$schedulesArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + where?: Prisma.schedulesWhereInput + orderBy?: Prisma.schedulesOrderByWithRelationInput | Prisma.schedulesOrderByWithRelationInput[] + cursor?: Prisma.schedulesWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.SchedulesScalarFieldEnum | Prisma.SchedulesScalarFieldEnum[] +} + +/** + * professionals.services + */ +export type professionals$servicesArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + where?: Prisma.servicesWhereInput + orderBy?: Prisma.servicesOrderByWithRelationInput | Prisma.servicesOrderByWithRelationInput[] + cursor?: Prisma.servicesWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ServicesScalarFieldEnum | Prisma.ServicesScalarFieldEnum[] +} + +/** + * professionals.specializations + */ +export type professionals$specializationsArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + where?: Prisma.specializationsWhereInput + orderBy?: Prisma.specializationsOrderByWithRelationInput | Prisma.specializationsOrderByWithRelationInput[] + cursor?: Prisma.specializationsWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.SpecializationsScalarFieldEnum | Prisma.SpecializationsScalarFieldEnum[] +} + +/** + * professionals without action + */ +export type professionalsDefaultArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null +} diff --git a/backend/src/generated/prisma/models/professions.ts b/backend/src/generated/prisma/models/professions.ts new file mode 100644 index 0000000..4038bfa --- /dev/null +++ b/backend/src/generated/prisma/models/professions.ts @@ -0,0 +1,1065 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `professions` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model professions + * + */ +export type professionsModel = runtime.Types.Result.DefaultSelection + +export type AggregateProfessions = { + _count: ProfessionsCountAggregateOutputType | null + _min: ProfessionsMinAggregateOutputType | null + _max: ProfessionsMaxAggregateOutputType | null +} + +export type ProfessionsMinAggregateOutputType = { + id: string | null + name: string | null +} + +export type ProfessionsMaxAggregateOutputType = { + id: string | null + name: string | null +} + +export type ProfessionsCountAggregateOutputType = { + id: number + name: number + _all: number +} + + +export type ProfessionsMinAggregateInputType = { + id?: true + name?: true +} + +export type ProfessionsMaxAggregateInputType = { + id?: true + name?: true +} + +export type ProfessionsCountAggregateInputType = { + id?: true + name?: true + _all?: true +} + +export type ProfessionsAggregateArgs = { + /** + * Filter which professions to aggregate. + */ + where?: Prisma.professionsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of professions to fetch. + */ + orderBy?: Prisma.professionsOrderByWithRelationInput | Prisma.professionsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.professionsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` professions 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` professions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned professions + **/ + _count?: true | ProfessionsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ProfessionsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ProfessionsMaxAggregateInputType +} + +export type GetProfessionsAggregateType = { + [P in keyof T & keyof AggregateProfessions]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type professionsGroupByArgs = { + where?: Prisma.professionsWhereInput + orderBy?: Prisma.professionsOrderByWithAggregationInput | Prisma.professionsOrderByWithAggregationInput[] + by: Prisma.ProfessionsScalarFieldEnum[] | Prisma.ProfessionsScalarFieldEnum + having?: Prisma.professionsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ProfessionsCountAggregateInputType | true + _min?: ProfessionsMinAggregateInputType + _max?: ProfessionsMaxAggregateInputType +} + +export type ProfessionsGroupByOutputType = { + id: string + name: string + _count: ProfessionsCountAggregateOutputType | null + _min: ProfessionsMinAggregateOutputType | null + _max: ProfessionsMaxAggregateOutputType | null +} + +export type GetProfessionsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ProfessionsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type professionsWhereInput = { + AND?: Prisma.professionsWhereInput | Prisma.professionsWhereInput[] + OR?: Prisma.professionsWhereInput[] + NOT?: Prisma.professionsWhereInput | Prisma.professionsWhereInput[] + id?: Prisma.UuidFilter<"professions"> | string + name?: Prisma.StringFilter<"professions"> | string +} + +export type professionsOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type professionsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name?: string + AND?: Prisma.professionsWhereInput | Prisma.professionsWhereInput[] + OR?: Prisma.professionsWhereInput[] + NOT?: Prisma.professionsWhereInput | Prisma.professionsWhereInput[] +}, "id" | "name"> + +export type professionsOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + _count?: Prisma.professionsCountOrderByAggregateInput + _max?: Prisma.professionsMaxOrderByAggregateInput + _min?: Prisma.professionsMinOrderByAggregateInput +} + +export type professionsScalarWhereWithAggregatesInput = { + AND?: Prisma.professionsScalarWhereWithAggregatesInput | Prisma.professionsScalarWhereWithAggregatesInput[] + OR?: Prisma.professionsScalarWhereWithAggregatesInput[] + NOT?: Prisma.professionsScalarWhereWithAggregatesInput | Prisma.professionsScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"professions"> | string + name?: Prisma.StringWithAggregatesFilter<"professions"> | string +} + +export type professionsCreateInput = { + id?: string + name: string +} + +export type professionsUncheckedCreateInput = { + id?: string + name: string +} + +export type professionsUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type professionsUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type professionsCreateManyInput = { + id?: string + name: string +} + +export type professionsUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type professionsUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type professionsCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type professionsMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type professionsMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + + + +export type professionsSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["professions"]> + +export type professionsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["professions"]> + +export type professionsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean +}, ExtArgs["result"]["professions"]> + +export type professionsSelectScalar = { + id?: boolean + name?: boolean +} + +export type professionsOmit = runtime.Types.Extensions.GetOmit<"id" | "name", ExtArgs["result"]["professions"]> + +export type $professionsPayload = { + name: "professions" + objects: {} + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + }, ExtArgs["result"]["professions"]> + composites: {} +} + +export type professionsGetPayload = runtime.Types.Result.GetResult + +export type professionsCountArgs = + Omit & { + select?: ProfessionsCountAggregateInputType | true + } + +export interface professionsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['professions'], meta: { name: 'professions' } } + /** + * Find zero or one Professions that matches the filter. + * @param {professionsFindUniqueArgs} args - Arguments to find a Professions + * @example + * // Get one Professions + * const professions = await prisma.professions.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__professionsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Professions that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {professionsFindUniqueOrThrowArgs} args - Arguments to find a Professions + * @example + * // Get one Professions + * const professions = await prisma.professions.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__professionsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Professions 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 {professionsFindFirstArgs} args - Arguments to find a Professions + * @example + * // Get one Professions + * const professions = await prisma.professions.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__professionsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Professions 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 {professionsFindFirstOrThrowArgs} args - Arguments to find a Professions + * @example + * // Get one Professions + * const professions = await prisma.professions.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__professionsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Professions 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 {professionsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Professions + * const professions = await prisma.professions.findMany() + * + * // Get first 10 Professions + * const professions = await prisma.professions.findMany({ take: 10 }) + * + * // Only select the `id` + * const professionsWithIdOnly = await prisma.professions.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Professions. + * @param {professionsCreateArgs} args - Arguments to create a Professions. + * @example + * // Create one Professions + * const Professions = await prisma.professions.create({ + * data: { + * // ... data to create a Professions + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__professionsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Professions. + * @param {professionsCreateManyArgs} args - Arguments to create many Professions. + * @example + * // Create many Professions + * const professions = await prisma.professions.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Professions and returns the data saved in the database. + * @param {professionsCreateManyAndReturnArgs} args - Arguments to create many Professions. + * @example + * // Create many Professions + * const professions = await prisma.professions.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Professions and only return the `id` + * const professionsWithIdOnly = await prisma.professions.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 Professions. + * @param {professionsDeleteArgs} args - Arguments to delete one Professions. + * @example + * // Delete one Professions + * const Professions = await prisma.professions.delete({ + * where: { + * // ... filter to delete one Professions + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__professionsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Professions. + * @param {professionsUpdateArgs} args - Arguments to update one Professions. + * @example + * // Update one Professions + * const professions = await prisma.professions.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__professionsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Professions. + * @param {professionsDeleteManyArgs} args - Arguments to filter Professions to delete. + * @example + * // Delete a few Professions + * const { count } = await prisma.professions.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Professions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {professionsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Professions + * const professions = await prisma.professions.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Professions and returns the data updated in the database. + * @param {professionsUpdateManyAndReturnArgs} args - Arguments to update many Professions. + * @example + * // Update many Professions + * const professions = await prisma.professions.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Professions and only return the `id` + * const professionsWithIdOnly = await prisma.professions.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 Professions. + * @param {professionsUpsertArgs} args - Arguments to update or create a Professions. + * @example + * // Update or create a Professions + * const professions = await prisma.professions.upsert({ + * create: { + * // ... data to create a Professions + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Professions we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__professionsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Professions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {professionsCountArgs} args - Arguments to filter Professions to count. + * @example + * // Count the number of Professions + * const count = await prisma.professions.count({ + * where: { + * // ... the filter for the Professions 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 Professions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfessionsAggregateArgs} 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 Professions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {professionsGroupByArgs} 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 professionsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: professionsGroupByArgs['orderBy'] } + : { orderBy?: professionsGroupByArgs['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 ? GetProfessionsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the professions model + */ +readonly fields: professionsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for professions. + * 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__professionsClient 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 professions model + */ +export interface professionsFieldRefs { + readonly id: Prisma.FieldRef<"professions", 'String'> + readonly name: Prisma.FieldRef<"professions", 'String'> +} + + +// Custom InputTypes +/** + * professions findUnique + */ +export type professionsFindUniqueArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * Filter, which professions to fetch. + */ + where: Prisma.professionsWhereUniqueInput +} + +/** + * professions findUniqueOrThrow + */ +export type professionsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * Filter, which professions to fetch. + */ + where: Prisma.professionsWhereUniqueInput +} + +/** + * professions findFirst + */ +export type professionsFindFirstArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * Filter, which professions to fetch. + */ + where?: Prisma.professionsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of professions to fetch. + */ + orderBy?: Prisma.professionsOrderByWithRelationInput | Prisma.professionsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for professions. + */ + cursor?: Prisma.professionsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` professions 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` professions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of professions. + */ + distinct?: Prisma.ProfessionsScalarFieldEnum | Prisma.ProfessionsScalarFieldEnum[] +} + +/** + * professions findFirstOrThrow + */ +export type professionsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * Filter, which professions to fetch. + */ + where?: Prisma.professionsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of professions to fetch. + */ + orderBy?: Prisma.professionsOrderByWithRelationInput | Prisma.professionsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for professions. + */ + cursor?: Prisma.professionsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` professions 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` professions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of professions. + */ + distinct?: Prisma.ProfessionsScalarFieldEnum | Prisma.ProfessionsScalarFieldEnum[] +} + +/** + * professions findMany + */ +export type professionsFindManyArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * Filter, which professions to fetch. + */ + where?: Prisma.professionsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of professions to fetch. + */ + orderBy?: Prisma.professionsOrderByWithRelationInput | Prisma.professionsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing professions. + */ + cursor?: Prisma.professionsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` professions 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` professions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of professions. + */ + distinct?: Prisma.ProfessionsScalarFieldEnum | Prisma.ProfessionsScalarFieldEnum[] +} + +/** + * professions create + */ +export type professionsCreateArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * The data needed to create a professions. + */ + data: Prisma.XOR +} + +/** + * professions createMany + */ +export type professionsCreateManyArgs = { + /** + * The data used to create many professions. + */ + data: Prisma.professionsCreateManyInput | Prisma.professionsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * professions createManyAndReturn + */ +export type professionsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * The data used to create many professions. + */ + data: Prisma.professionsCreateManyInput | Prisma.professionsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * professions update + */ +export type professionsUpdateArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * The data needed to update a professions. + */ + data: Prisma.XOR + /** + * Choose, which professions to update. + */ + where: Prisma.professionsWhereUniqueInput +} + +/** + * professions updateMany + */ +export type professionsUpdateManyArgs = { + /** + * The data used to update professions. + */ + data: Prisma.XOR + /** + * Filter which professions to update + */ + where?: Prisma.professionsWhereInput + /** + * Limit how many professions to update. + */ + limit?: number +} + +/** + * professions updateManyAndReturn + */ +export type professionsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * The data used to update professions. + */ + data: Prisma.XOR + /** + * Filter which professions to update + */ + where?: Prisma.professionsWhereInput + /** + * Limit how many professions to update. + */ + limit?: number +} + +/** + * professions upsert + */ +export type professionsUpsertArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * The filter to search for the professions to update in case it exists. + */ + where: Prisma.professionsWhereUniqueInput + /** + * In case the professions found by the `where` argument doesn't exist, create a new professions with this data. + */ + create: Prisma.XOR + /** + * In case the professions was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * professions delete + */ +export type professionsDeleteArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null + /** + * Filter which professions to delete. + */ + where: Prisma.professionsWhereUniqueInput +} + +/** + * professions deleteMany + */ +export type professionsDeleteManyArgs = { + /** + * Filter which professions to delete + */ + where?: Prisma.professionsWhereInput + /** + * Limit how many professions to delete. + */ + limit?: number +} + +/** + * professions without action + */ +export type professionsDefaultArgs = { + /** + * Select specific fields to fetch from the professions + */ + select?: Prisma.professionsSelect | null + /** + * Omit specific fields from the professions + */ + omit?: Prisma.professionsOmit | null +} diff --git a/backend/src/generated/prisma/models/regions.ts b/backend/src/generated/prisma/models/regions.ts new file mode 100644 index 0000000..01bf339 --- /dev/null +++ b/backend/src/generated/prisma/models/regions.ts @@ -0,0 +1,1404 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `regions` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model regions + * + */ +export type regionsModel = runtime.Types.Result.DefaultSelection + +export type AggregateRegions = { + _count: RegionsCountAggregateOutputType | null + _min: RegionsMinAggregateOutputType | null + _max: RegionsMaxAggregateOutputType | null +} + +export type RegionsMinAggregateOutputType = { + id: string | null + country_id: string | null + name: string | null +} + +export type RegionsMaxAggregateOutputType = { + id: string | null + country_id: string | null + name: string | null +} + +export type RegionsCountAggregateOutputType = { + id: number + country_id: number + name: number + _all: number +} + + +export type RegionsMinAggregateInputType = { + id?: true + country_id?: true + name?: true +} + +export type RegionsMaxAggregateInputType = { + id?: true + country_id?: true + name?: true +} + +export type RegionsCountAggregateInputType = { + id?: true + country_id?: true + name?: true + _all?: true +} + +export type RegionsAggregateArgs = { + /** + * Filter which regions to aggregate. + */ + where?: Prisma.regionsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of regions to fetch. + */ + orderBy?: Prisma.regionsOrderByWithRelationInput | Prisma.regionsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.regionsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` regions 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` regions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned regions + **/ + _count?: true | RegionsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: RegionsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: RegionsMaxAggregateInputType +} + +export type GetRegionsAggregateType = { + [P in keyof T & keyof AggregateRegions]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type regionsGroupByArgs = { + where?: Prisma.regionsWhereInput + orderBy?: Prisma.regionsOrderByWithAggregationInput | Prisma.regionsOrderByWithAggregationInput[] + by: Prisma.RegionsScalarFieldEnum[] | Prisma.RegionsScalarFieldEnum + having?: Prisma.regionsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: RegionsCountAggregateInputType | true + _min?: RegionsMinAggregateInputType + _max?: RegionsMaxAggregateInputType +} + +export type RegionsGroupByOutputType = { + id: string + country_id: string + name: string + _count: RegionsCountAggregateOutputType | null + _min: RegionsMinAggregateOutputType | null + _max: RegionsMaxAggregateOutputType | null +} + +export type GetRegionsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof RegionsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type regionsWhereInput = { + AND?: Prisma.regionsWhereInput | Prisma.regionsWhereInput[] + OR?: Prisma.regionsWhereInput[] + NOT?: Prisma.regionsWhereInput | Prisma.regionsWhereInput[] + id?: Prisma.UuidFilter<"regions"> | string + country_id?: Prisma.UuidFilter<"regions"> | string + name?: Prisma.StringFilter<"regions"> | string + cities?: Prisma.CitiesListRelationFilter + countries?: Prisma.XOR +} + +export type regionsOrderByWithRelationInput = { + id?: Prisma.SortOrder + country_id?: Prisma.SortOrder + name?: Prisma.SortOrder + cities?: Prisma.citiesOrderByRelationAggregateInput + countries?: Prisma.countriesOrderByWithRelationInput +} + +export type regionsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.regionsWhereInput | Prisma.regionsWhereInput[] + OR?: Prisma.regionsWhereInput[] + NOT?: Prisma.regionsWhereInput | Prisma.regionsWhereInput[] + country_id?: Prisma.UuidFilter<"regions"> | string + name?: Prisma.StringFilter<"regions"> | string + cities?: Prisma.CitiesListRelationFilter + countries?: Prisma.XOR +}, "id"> + +export type regionsOrderByWithAggregationInput = { + id?: Prisma.SortOrder + country_id?: Prisma.SortOrder + name?: Prisma.SortOrder + _count?: Prisma.regionsCountOrderByAggregateInput + _max?: Prisma.regionsMaxOrderByAggregateInput + _min?: Prisma.regionsMinOrderByAggregateInput +} + +export type regionsScalarWhereWithAggregatesInput = { + AND?: Prisma.regionsScalarWhereWithAggregatesInput | Prisma.regionsScalarWhereWithAggregatesInput[] + OR?: Prisma.regionsScalarWhereWithAggregatesInput[] + NOT?: Prisma.regionsScalarWhereWithAggregatesInput | Prisma.regionsScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"regions"> | string + country_id?: Prisma.UuidWithAggregatesFilter<"regions"> | string + name?: Prisma.StringWithAggregatesFilter<"regions"> | string +} + +export type regionsCreateInput = { + id?: string + name: string + cities?: Prisma.citiesCreateNestedManyWithoutRegionsInput + countries: Prisma.countriesCreateNestedOneWithoutRegionsInput +} + +export type regionsUncheckedCreateInput = { + id?: string + country_id: string + name: string + cities?: Prisma.citiesUncheckedCreateNestedManyWithoutRegionsInput +} + +export type regionsUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + cities?: Prisma.citiesUpdateManyWithoutRegionsNestedInput + countries?: Prisma.countriesUpdateOneRequiredWithoutRegionsNestedInput +} + +export type regionsUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + country_id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + cities?: Prisma.citiesUncheckedUpdateManyWithoutRegionsNestedInput +} + +export type regionsCreateManyInput = { + id?: string + country_id: string + name: string +} + +export type regionsUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type regionsUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + country_id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type RegionsScalarRelationFilter = { + is?: Prisma.regionsWhereInput + isNot?: Prisma.regionsWhereInput +} + +export type RegionsListRelationFilter = { + every?: Prisma.regionsWhereInput + some?: Prisma.regionsWhereInput + none?: Prisma.regionsWhereInput +} + +export type regionsOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type regionsCountOrderByAggregateInput = { + id?: Prisma.SortOrder + country_id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type regionsMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + country_id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type regionsMinOrderByAggregateInput = { + id?: Prisma.SortOrder + country_id?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type regionsCreateNestedOneWithoutCitiesInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.regionsCreateOrConnectWithoutCitiesInput + connect?: Prisma.regionsWhereUniqueInput +} + +export type regionsUpdateOneRequiredWithoutCitiesNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.regionsCreateOrConnectWithoutCitiesInput + upsert?: Prisma.regionsUpsertWithoutCitiesInput + connect?: Prisma.regionsWhereUniqueInput + update?: Prisma.XOR, Prisma.regionsUncheckedUpdateWithoutCitiesInput> +} + +export type regionsCreateNestedManyWithoutCountriesInput = { + create?: Prisma.XOR | Prisma.regionsCreateWithoutCountriesInput[] | Prisma.regionsUncheckedCreateWithoutCountriesInput[] + connectOrCreate?: Prisma.regionsCreateOrConnectWithoutCountriesInput | Prisma.regionsCreateOrConnectWithoutCountriesInput[] + createMany?: Prisma.regionsCreateManyCountriesInputEnvelope + connect?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] +} + +export type regionsUncheckedCreateNestedManyWithoutCountriesInput = { + create?: Prisma.XOR | Prisma.regionsCreateWithoutCountriesInput[] | Prisma.regionsUncheckedCreateWithoutCountriesInput[] + connectOrCreate?: Prisma.regionsCreateOrConnectWithoutCountriesInput | Prisma.regionsCreateOrConnectWithoutCountriesInput[] + createMany?: Prisma.regionsCreateManyCountriesInputEnvelope + connect?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] +} + +export type regionsUpdateManyWithoutCountriesNestedInput = { + create?: Prisma.XOR | Prisma.regionsCreateWithoutCountriesInput[] | Prisma.regionsUncheckedCreateWithoutCountriesInput[] + connectOrCreate?: Prisma.regionsCreateOrConnectWithoutCountriesInput | Prisma.regionsCreateOrConnectWithoutCountriesInput[] + upsert?: Prisma.regionsUpsertWithWhereUniqueWithoutCountriesInput | Prisma.regionsUpsertWithWhereUniqueWithoutCountriesInput[] + createMany?: Prisma.regionsCreateManyCountriesInputEnvelope + set?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] + disconnect?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] + delete?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] + connect?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] + update?: Prisma.regionsUpdateWithWhereUniqueWithoutCountriesInput | Prisma.regionsUpdateWithWhereUniqueWithoutCountriesInput[] + updateMany?: Prisma.regionsUpdateManyWithWhereWithoutCountriesInput | Prisma.regionsUpdateManyWithWhereWithoutCountriesInput[] + deleteMany?: Prisma.regionsScalarWhereInput | Prisma.regionsScalarWhereInput[] +} + +export type regionsUncheckedUpdateManyWithoutCountriesNestedInput = { + create?: Prisma.XOR | Prisma.regionsCreateWithoutCountriesInput[] | Prisma.regionsUncheckedCreateWithoutCountriesInput[] + connectOrCreate?: Prisma.regionsCreateOrConnectWithoutCountriesInput | Prisma.regionsCreateOrConnectWithoutCountriesInput[] + upsert?: Prisma.regionsUpsertWithWhereUniqueWithoutCountriesInput | Prisma.regionsUpsertWithWhereUniqueWithoutCountriesInput[] + createMany?: Prisma.regionsCreateManyCountriesInputEnvelope + set?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] + disconnect?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] + delete?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] + connect?: Prisma.regionsWhereUniqueInput | Prisma.regionsWhereUniqueInput[] + update?: Prisma.regionsUpdateWithWhereUniqueWithoutCountriesInput | Prisma.regionsUpdateWithWhereUniqueWithoutCountriesInput[] + updateMany?: Prisma.regionsUpdateManyWithWhereWithoutCountriesInput | Prisma.regionsUpdateManyWithWhereWithoutCountriesInput[] + deleteMany?: Prisma.regionsScalarWhereInput | Prisma.regionsScalarWhereInput[] +} + +export type regionsCreateWithoutCitiesInput = { + id?: string + name: string + countries: Prisma.countriesCreateNestedOneWithoutRegionsInput +} + +export type regionsUncheckedCreateWithoutCitiesInput = { + id?: string + country_id: string + name: string +} + +export type regionsCreateOrConnectWithoutCitiesInput = { + where: Prisma.regionsWhereUniqueInput + create: Prisma.XOR +} + +export type regionsUpsertWithoutCitiesInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.regionsWhereInput +} + +export type regionsUpdateToOneWithWhereWithoutCitiesInput = { + where?: Prisma.regionsWhereInput + data: Prisma.XOR +} + +export type regionsUpdateWithoutCitiesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + countries?: Prisma.countriesUpdateOneRequiredWithoutRegionsNestedInput +} + +export type regionsUncheckedUpdateWithoutCitiesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + country_id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type regionsCreateWithoutCountriesInput = { + id?: string + name: string + cities?: Prisma.citiesCreateNestedManyWithoutRegionsInput +} + +export type regionsUncheckedCreateWithoutCountriesInput = { + id?: string + name: string + cities?: Prisma.citiesUncheckedCreateNestedManyWithoutRegionsInput +} + +export type regionsCreateOrConnectWithoutCountriesInput = { + where: Prisma.regionsWhereUniqueInput + create: Prisma.XOR +} + +export type regionsCreateManyCountriesInputEnvelope = { + data: Prisma.regionsCreateManyCountriesInput | Prisma.regionsCreateManyCountriesInput[] + skipDuplicates?: boolean +} + +export type regionsUpsertWithWhereUniqueWithoutCountriesInput = { + where: Prisma.regionsWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type regionsUpdateWithWhereUniqueWithoutCountriesInput = { + where: Prisma.regionsWhereUniqueInput + data: Prisma.XOR +} + +export type regionsUpdateManyWithWhereWithoutCountriesInput = { + where: Prisma.regionsScalarWhereInput + data: Prisma.XOR +} + +export type regionsScalarWhereInput = { + AND?: Prisma.regionsScalarWhereInput | Prisma.regionsScalarWhereInput[] + OR?: Prisma.regionsScalarWhereInput[] + NOT?: Prisma.regionsScalarWhereInput | Prisma.regionsScalarWhereInput[] + id?: Prisma.UuidFilter<"regions"> | string + country_id?: Prisma.UuidFilter<"regions"> | string + name?: Prisma.StringFilter<"regions"> | string +} + +export type regionsCreateManyCountriesInput = { + id?: string + name: string +} + +export type regionsUpdateWithoutCountriesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + cities?: Prisma.citiesUpdateManyWithoutRegionsNestedInput +} + +export type regionsUncheckedUpdateWithoutCountriesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + cities?: Prisma.citiesUncheckedUpdateManyWithoutRegionsNestedInput +} + +export type regionsUncheckedUpdateManyWithoutCountriesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + + +/** + * Count Type RegionsCountOutputType + */ + +export type RegionsCountOutputType = { + cities: number +} + +export type RegionsCountOutputTypeSelect = { + cities?: boolean | RegionsCountOutputTypeCountCitiesArgs +} + +/** + * RegionsCountOutputType without action + */ +export type RegionsCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the RegionsCountOutputType + */ + select?: Prisma.RegionsCountOutputTypeSelect | null +} + +/** + * RegionsCountOutputType without action + */ +export type RegionsCountOutputTypeCountCitiesArgs = { + where?: Prisma.citiesWhereInput +} + + +export type regionsSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + country_id?: boolean + name?: boolean + cities?: boolean | Prisma.regions$citiesArgs + countries?: boolean | Prisma.countriesDefaultArgs + _count?: boolean | Prisma.RegionsCountOutputTypeDefaultArgs +}, ExtArgs["result"]["regions"]> + +export type regionsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + country_id?: boolean + name?: boolean + countries?: boolean | Prisma.countriesDefaultArgs +}, ExtArgs["result"]["regions"]> + +export type regionsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + country_id?: boolean + name?: boolean + countries?: boolean | Prisma.countriesDefaultArgs +}, ExtArgs["result"]["regions"]> + +export type regionsSelectScalar = { + id?: boolean + country_id?: boolean + name?: boolean +} + +export type regionsOmit = runtime.Types.Extensions.GetOmit<"id" | "country_id" | "name", ExtArgs["result"]["regions"]> +export type regionsInclude = { + cities?: boolean | Prisma.regions$citiesArgs + countries?: boolean | Prisma.countriesDefaultArgs + _count?: boolean | Prisma.RegionsCountOutputTypeDefaultArgs +} +export type regionsIncludeCreateManyAndReturn = { + countries?: boolean | Prisma.countriesDefaultArgs +} +export type regionsIncludeUpdateManyAndReturn = { + countries?: boolean | Prisma.countriesDefaultArgs +} + +export type $regionsPayload = { + name: "regions" + objects: { + cities: Prisma.$citiesPayload[] + countries: Prisma.$countriesPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + country_id: string + name: string + }, ExtArgs["result"]["regions"]> + composites: {} +} + +export type regionsGetPayload = runtime.Types.Result.GetResult + +export type regionsCountArgs = + Omit & { + select?: RegionsCountAggregateInputType | true + } + +export interface regionsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['regions'], meta: { name: 'regions' } } + /** + * Find zero or one Regions that matches the filter. + * @param {regionsFindUniqueArgs} args - Arguments to find a Regions + * @example + * // Get one Regions + * const regions = await prisma.regions.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__regionsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Regions that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {regionsFindUniqueOrThrowArgs} args - Arguments to find a Regions + * @example + * // Get one Regions + * const regions = await prisma.regions.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__regionsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Regions 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 {regionsFindFirstArgs} args - Arguments to find a Regions + * @example + * // Get one Regions + * const regions = await prisma.regions.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__regionsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Regions 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 {regionsFindFirstOrThrowArgs} args - Arguments to find a Regions + * @example + * // Get one Regions + * const regions = await prisma.regions.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__regionsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Regions 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 {regionsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Regions + * const regions = await prisma.regions.findMany() + * + * // Get first 10 Regions + * const regions = await prisma.regions.findMany({ take: 10 }) + * + * // Only select the `id` + * const regionsWithIdOnly = await prisma.regions.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Regions. + * @param {regionsCreateArgs} args - Arguments to create a Regions. + * @example + * // Create one Regions + * const Regions = await prisma.regions.create({ + * data: { + * // ... data to create a Regions + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__regionsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Regions. + * @param {regionsCreateManyArgs} args - Arguments to create many Regions. + * @example + * // Create many Regions + * const regions = await prisma.regions.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Regions and returns the data saved in the database. + * @param {regionsCreateManyAndReturnArgs} args - Arguments to create many Regions. + * @example + * // Create many Regions + * const regions = await prisma.regions.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Regions and only return the `id` + * const regionsWithIdOnly = await prisma.regions.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 Regions. + * @param {regionsDeleteArgs} args - Arguments to delete one Regions. + * @example + * // Delete one Regions + * const Regions = await prisma.regions.delete({ + * where: { + * // ... filter to delete one Regions + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__regionsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Regions. + * @param {regionsUpdateArgs} args - Arguments to update one Regions. + * @example + * // Update one Regions + * const regions = await prisma.regions.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__regionsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Regions. + * @param {regionsDeleteManyArgs} args - Arguments to filter Regions to delete. + * @example + * // Delete a few Regions + * const { count } = await prisma.regions.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Regions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {regionsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Regions + * const regions = await prisma.regions.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Regions and returns the data updated in the database. + * @param {regionsUpdateManyAndReturnArgs} args - Arguments to update many Regions. + * @example + * // Update many Regions + * const regions = await prisma.regions.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Regions and only return the `id` + * const regionsWithIdOnly = await prisma.regions.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 Regions. + * @param {regionsUpsertArgs} args - Arguments to update or create a Regions. + * @example + * // Update or create a Regions + * const regions = await prisma.regions.upsert({ + * create: { + * // ... data to create a Regions + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Regions we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__regionsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Regions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {regionsCountArgs} args - Arguments to filter Regions to count. + * @example + * // Count the number of Regions + * const count = await prisma.regions.count({ + * where: { + * // ... the filter for the Regions 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 Regions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {RegionsAggregateArgs} 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 Regions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {regionsGroupByArgs} 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 regionsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: regionsGroupByArgs['orderBy'] } + : { orderBy?: regionsGroupByArgs['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 ? GetRegionsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the regions model + */ +readonly fields: regionsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for regions. + * 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__regionsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + cities = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + countries = {}>(args?: Prisma.Subset>): Prisma.Prisma__countriesClient, 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 regions model + */ +export interface regionsFieldRefs { + readonly id: Prisma.FieldRef<"regions", 'String'> + readonly country_id: Prisma.FieldRef<"regions", 'String'> + readonly name: Prisma.FieldRef<"regions", 'String'> +} + + +// Custom InputTypes +/** + * regions findUnique + */ +export type regionsFindUniqueArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * Filter, which regions to fetch. + */ + where: Prisma.regionsWhereUniqueInput +} + +/** + * regions findUniqueOrThrow + */ +export type regionsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * Filter, which regions to fetch. + */ + where: Prisma.regionsWhereUniqueInput +} + +/** + * regions findFirst + */ +export type regionsFindFirstArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * Filter, which regions to fetch. + */ + where?: Prisma.regionsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of regions to fetch. + */ + orderBy?: Prisma.regionsOrderByWithRelationInput | Prisma.regionsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for regions. + */ + cursor?: Prisma.regionsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` regions 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` regions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of regions. + */ + distinct?: Prisma.RegionsScalarFieldEnum | Prisma.RegionsScalarFieldEnum[] +} + +/** + * regions findFirstOrThrow + */ +export type regionsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * Filter, which regions to fetch. + */ + where?: Prisma.regionsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of regions to fetch. + */ + orderBy?: Prisma.regionsOrderByWithRelationInput | Prisma.regionsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for regions. + */ + cursor?: Prisma.regionsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` regions 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` regions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of regions. + */ + distinct?: Prisma.RegionsScalarFieldEnum | Prisma.RegionsScalarFieldEnum[] +} + +/** + * regions findMany + */ +export type regionsFindManyArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * Filter, which regions to fetch. + */ + where?: Prisma.regionsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of regions to fetch. + */ + orderBy?: Prisma.regionsOrderByWithRelationInput | Prisma.regionsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing regions. + */ + cursor?: Prisma.regionsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` regions 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` regions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of regions. + */ + distinct?: Prisma.RegionsScalarFieldEnum | Prisma.RegionsScalarFieldEnum[] +} + +/** + * regions create + */ +export type regionsCreateArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * The data needed to create a regions. + */ + data: Prisma.XOR +} + +/** + * regions createMany + */ +export type regionsCreateManyArgs = { + /** + * The data used to create many regions. + */ + data: Prisma.regionsCreateManyInput | Prisma.regionsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * regions createManyAndReturn + */ +export type regionsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * The data used to create many regions. + */ + data: Prisma.regionsCreateManyInput | Prisma.regionsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsIncludeCreateManyAndReturn | null +} + +/** + * regions update + */ +export type regionsUpdateArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * The data needed to update a regions. + */ + data: Prisma.XOR + /** + * Choose, which regions to update. + */ + where: Prisma.regionsWhereUniqueInput +} + +/** + * regions updateMany + */ +export type regionsUpdateManyArgs = { + /** + * The data used to update regions. + */ + data: Prisma.XOR + /** + * Filter which regions to update + */ + where?: Prisma.regionsWhereInput + /** + * Limit how many regions to update. + */ + limit?: number +} + +/** + * regions updateManyAndReturn + */ +export type regionsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * The data used to update regions. + */ + data: Prisma.XOR + /** + * Filter which regions to update + */ + where?: Prisma.regionsWhereInput + /** + * Limit how many regions to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsIncludeUpdateManyAndReturn | null +} + +/** + * regions upsert + */ +export type regionsUpsertArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * The filter to search for the regions to update in case it exists. + */ + where: Prisma.regionsWhereUniqueInput + /** + * In case the regions found by the `where` argument doesn't exist, create a new regions with this data. + */ + create: Prisma.XOR + /** + * In case the regions was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * regions delete + */ +export type regionsDeleteArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null + /** + * Filter which regions to delete. + */ + where: Prisma.regionsWhereUniqueInput +} + +/** + * regions deleteMany + */ +export type regionsDeleteManyArgs = { + /** + * Filter which regions to delete + */ + where?: Prisma.regionsWhereInput + /** + * Limit how many regions to delete. + */ + limit?: number +} + +/** + * regions.cities + */ +export type regions$citiesArgs = { + /** + * Select specific fields to fetch from the cities + */ + select?: Prisma.citiesSelect | null + /** + * Omit specific fields from the cities + */ + omit?: Prisma.citiesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.citiesInclude | null + where?: Prisma.citiesWhereInput + orderBy?: Prisma.citiesOrderByWithRelationInput | Prisma.citiesOrderByWithRelationInput[] + cursor?: Prisma.citiesWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.CitiesScalarFieldEnum | Prisma.CitiesScalarFieldEnum[] +} + +/** + * regions without action + */ +export type regionsDefaultArgs = { + /** + * Select specific fields to fetch from the regions + */ + select?: Prisma.regionsSelect | null + /** + * Omit specific fields from the regions + */ + omit?: Prisma.regionsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.regionsInclude | null +} diff --git a/backend/src/generated/prisma/models/reputations.ts b/backend/src/generated/prisma/models/reputations.ts new file mode 100644 index 0000000..2021e96 --- /dev/null +++ b/backend/src/generated/prisma/models/reputations.ts @@ -0,0 +1,1397 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `reputations` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model reputations + * + */ +export type reputationsModel = runtime.Types.Result.DefaultSelection + +export type AggregateReputations = { + _count: ReputationsCountAggregateOutputType | null + _avg: ReputationsAvgAggregateOutputType | null + _sum: ReputationsSumAggregateOutputType | null + _min: ReputationsMinAggregateOutputType | null + _max: ReputationsMaxAggregateOutputType | null +} + +export type ReputationsAvgAggregateOutputType = { + total: number | null + average: runtime.Decimal | null + total_pro: number | null + average_pro: runtime.Decimal | null +} + +export type ReputationsSumAggregateOutputType = { + total: number | null + average: runtime.Decimal | null + total_pro: number | null + average_pro: runtime.Decimal | null +} + +export type ReputationsMinAggregateOutputType = { + user_id: string | null + total: number | null + average: runtime.Decimal | null + total_pro: number | null + average_pro: runtime.Decimal | null + updated_at: Date | null +} + +export type ReputationsMaxAggregateOutputType = { + user_id: string | null + total: number | null + average: runtime.Decimal | null + total_pro: number | null + average_pro: runtime.Decimal | null + updated_at: Date | null +} + +export type ReputationsCountAggregateOutputType = { + user_id: number + total: number + average: number + total_pro: number + average_pro: number + updated_at: number + _all: number +} + + +export type ReputationsAvgAggregateInputType = { + total?: true + average?: true + total_pro?: true + average_pro?: true +} + +export type ReputationsSumAggregateInputType = { + total?: true + average?: true + total_pro?: true + average_pro?: true +} + +export type ReputationsMinAggregateInputType = { + user_id?: true + total?: true + average?: true + total_pro?: true + average_pro?: true + updated_at?: true +} + +export type ReputationsMaxAggregateInputType = { + user_id?: true + total?: true + average?: true + total_pro?: true + average_pro?: true + updated_at?: true +} + +export type ReputationsCountAggregateInputType = { + user_id?: true + total?: true + average?: true + total_pro?: true + average_pro?: true + updated_at?: true + _all?: true +} + +export type ReputationsAggregateArgs = { + /** + * Filter which reputations to aggregate. + */ + where?: Prisma.reputationsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of reputations to fetch. + */ + orderBy?: Prisma.reputationsOrderByWithRelationInput | Prisma.reputationsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.reputationsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` reputations 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` reputations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned reputations + **/ + _count?: true | ReputationsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ReputationsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ReputationsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ReputationsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ReputationsMaxAggregateInputType +} + +export type GetReputationsAggregateType = { + [P in keyof T & keyof AggregateReputations]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type reputationsGroupByArgs = { + where?: Prisma.reputationsWhereInput + orderBy?: Prisma.reputationsOrderByWithAggregationInput | Prisma.reputationsOrderByWithAggregationInput[] + by: Prisma.ReputationsScalarFieldEnum[] | Prisma.ReputationsScalarFieldEnum + having?: Prisma.reputationsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ReputationsCountAggregateInputType | true + _avg?: ReputationsAvgAggregateInputType + _sum?: ReputationsSumAggregateInputType + _min?: ReputationsMinAggregateInputType + _max?: ReputationsMaxAggregateInputType +} + +export type ReputationsGroupByOutputType = { + user_id: string + total: number + average: runtime.Decimal + total_pro: number + average_pro: runtime.Decimal + updated_at: Date + _count: ReputationsCountAggregateOutputType | null + _avg: ReputationsAvgAggregateOutputType | null + _sum: ReputationsSumAggregateOutputType | null + _min: ReputationsMinAggregateOutputType | null + _max: ReputationsMaxAggregateOutputType | null +} + +export type GetReputationsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ReputationsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type reputationsWhereInput = { + AND?: Prisma.reputationsWhereInput | Prisma.reputationsWhereInput[] + OR?: Prisma.reputationsWhereInput[] + NOT?: Prisma.reputationsWhereInput | Prisma.reputationsWhereInput[] + user_id?: Prisma.UuidFilter<"reputations"> | string + total?: Prisma.IntFilter<"reputations"> | number + average?: Prisma.DecimalFilter<"reputations"> | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntFilter<"reputations"> | number + average_pro?: Prisma.DecimalFilter<"reputations"> | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeFilter<"reputations"> | Date | string + users?: Prisma.XOR +} + +export type reputationsOrderByWithRelationInput = { + user_id?: Prisma.SortOrder + total?: Prisma.SortOrder + average?: Prisma.SortOrder + total_pro?: Prisma.SortOrder + average_pro?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + users?: Prisma.usersOrderByWithRelationInput +} + +export type reputationsWhereUniqueInput = Prisma.AtLeast<{ + user_id?: string + AND?: Prisma.reputationsWhereInput | Prisma.reputationsWhereInput[] + OR?: Prisma.reputationsWhereInput[] + NOT?: Prisma.reputationsWhereInput | Prisma.reputationsWhereInput[] + total?: Prisma.IntFilter<"reputations"> | number + average?: Prisma.DecimalFilter<"reputations"> | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntFilter<"reputations"> | number + average_pro?: Prisma.DecimalFilter<"reputations"> | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeFilter<"reputations"> | Date | string + users?: Prisma.XOR +}, "user_id"> + +export type reputationsOrderByWithAggregationInput = { + user_id?: Prisma.SortOrder + total?: Prisma.SortOrder + average?: Prisma.SortOrder + total_pro?: Prisma.SortOrder + average_pro?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + _count?: Prisma.reputationsCountOrderByAggregateInput + _avg?: Prisma.reputationsAvgOrderByAggregateInput + _max?: Prisma.reputationsMaxOrderByAggregateInput + _min?: Prisma.reputationsMinOrderByAggregateInput + _sum?: Prisma.reputationsSumOrderByAggregateInput +} + +export type reputationsScalarWhereWithAggregatesInput = { + AND?: Prisma.reputationsScalarWhereWithAggregatesInput | Prisma.reputationsScalarWhereWithAggregatesInput[] + OR?: Prisma.reputationsScalarWhereWithAggregatesInput[] + NOT?: Prisma.reputationsScalarWhereWithAggregatesInput | Prisma.reputationsScalarWhereWithAggregatesInput[] + user_id?: Prisma.UuidWithAggregatesFilter<"reputations"> | string + total?: Prisma.IntWithAggregatesFilter<"reputations"> | number + average?: Prisma.DecimalWithAggregatesFilter<"reputations"> | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntWithAggregatesFilter<"reputations"> | number + average_pro?: Prisma.DecimalWithAggregatesFilter<"reputations"> | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeWithAggregatesFilter<"reputations"> | Date | string +} + +export type reputationsCreateInput = { + total?: number + average?: runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: number + average_pro?: runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Date | string + users: Prisma.usersCreateNestedOneWithoutReputationsInput +} + +export type reputationsUncheckedCreateInput = { + user_id: string + total?: number + average?: runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: number + average_pro?: runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Date | string +} + +export type reputationsUpdateInput = { + total?: Prisma.IntFieldUpdateOperationsInput | number + average?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntFieldUpdateOperationsInput | number + average_pro?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + users?: Prisma.usersUpdateOneRequiredWithoutReputationsNestedInput +} + +export type reputationsUncheckedUpdateInput = { + user_id?: Prisma.StringFieldUpdateOperationsInput | string + total?: Prisma.IntFieldUpdateOperationsInput | number + average?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntFieldUpdateOperationsInput | number + average_pro?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type reputationsCreateManyInput = { + user_id: string + total?: number + average?: runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: number + average_pro?: runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Date | string +} + +export type reputationsUpdateManyMutationInput = { + total?: Prisma.IntFieldUpdateOperationsInput | number + average?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntFieldUpdateOperationsInput | number + average_pro?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type reputationsUncheckedUpdateManyInput = { + user_id?: Prisma.StringFieldUpdateOperationsInput | string + total?: Prisma.IntFieldUpdateOperationsInput | number + average?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntFieldUpdateOperationsInput | number + average_pro?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type reputationsCountOrderByAggregateInput = { + user_id?: Prisma.SortOrder + total?: Prisma.SortOrder + average?: Prisma.SortOrder + total_pro?: Prisma.SortOrder + average_pro?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type reputationsAvgOrderByAggregateInput = { + total?: Prisma.SortOrder + average?: Prisma.SortOrder + total_pro?: Prisma.SortOrder + average_pro?: Prisma.SortOrder +} + +export type reputationsMaxOrderByAggregateInput = { + user_id?: Prisma.SortOrder + total?: Prisma.SortOrder + average?: Prisma.SortOrder + total_pro?: Prisma.SortOrder + average_pro?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type reputationsMinOrderByAggregateInput = { + user_id?: Prisma.SortOrder + total?: Prisma.SortOrder + average?: Prisma.SortOrder + total_pro?: Prisma.SortOrder + average_pro?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type reputationsSumOrderByAggregateInput = { + total?: Prisma.SortOrder + average?: Prisma.SortOrder + total_pro?: Prisma.SortOrder + average_pro?: Prisma.SortOrder +} + +export type ReputationsNullableScalarRelationFilter = { + is?: Prisma.reputationsWhereInput | null + isNot?: Prisma.reputationsWhereInput | null +} + +export type DecimalFieldUpdateOperationsInput = { + set?: runtime.Decimal | runtime.DecimalJsLike | number | string + increment?: runtime.Decimal | runtime.DecimalJsLike | number | string + decrement?: runtime.Decimal | runtime.DecimalJsLike | number | string + multiply?: runtime.Decimal | runtime.DecimalJsLike | number | string + divide?: runtime.Decimal | runtime.DecimalJsLike | number | string +} + +export type reputationsCreateNestedOneWithoutUsersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.reputationsCreateOrConnectWithoutUsersInput + connect?: Prisma.reputationsWhereUniqueInput +} + +export type reputationsUncheckedCreateNestedOneWithoutUsersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.reputationsCreateOrConnectWithoutUsersInput + connect?: Prisma.reputationsWhereUniqueInput +} + +export type reputationsUpdateOneWithoutUsersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.reputationsCreateOrConnectWithoutUsersInput + upsert?: Prisma.reputationsUpsertWithoutUsersInput + disconnect?: Prisma.reputationsWhereInput | boolean + delete?: Prisma.reputationsWhereInput | boolean + connect?: Prisma.reputationsWhereUniqueInput + update?: Prisma.XOR, Prisma.reputationsUncheckedUpdateWithoutUsersInput> +} + +export type reputationsUncheckedUpdateOneWithoutUsersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.reputationsCreateOrConnectWithoutUsersInput + upsert?: Prisma.reputationsUpsertWithoutUsersInput + disconnect?: Prisma.reputationsWhereInput | boolean + delete?: Prisma.reputationsWhereInput | boolean + connect?: Prisma.reputationsWhereUniqueInput + update?: Prisma.XOR, Prisma.reputationsUncheckedUpdateWithoutUsersInput> +} + +export type reputationsCreateWithoutUsersInput = { + total?: number + average?: runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: number + average_pro?: runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Date | string +} + +export type reputationsUncheckedCreateWithoutUsersInput = { + total?: number + average?: runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: number + average_pro?: runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Date | string +} + +export type reputationsCreateOrConnectWithoutUsersInput = { + where: Prisma.reputationsWhereUniqueInput + create: Prisma.XOR +} + +export type reputationsUpsertWithoutUsersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.reputationsWhereInput +} + +export type reputationsUpdateToOneWithWhereWithoutUsersInput = { + where?: Prisma.reputationsWhereInput + data: Prisma.XOR +} + +export type reputationsUpdateWithoutUsersInput = { + total?: Prisma.IntFieldUpdateOperationsInput | number + average?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntFieldUpdateOperationsInput | number + average_pro?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type reputationsUncheckedUpdateWithoutUsersInput = { + total?: Prisma.IntFieldUpdateOperationsInput | number + average?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + total_pro?: Prisma.IntFieldUpdateOperationsInput | number + average_pro?: Prisma.DecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + + +export type reputationsSelect = runtime.Types.Extensions.GetSelect<{ + user_id?: boolean + total?: boolean + average?: boolean + total_pro?: boolean + average_pro?: boolean + updated_at?: boolean + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["reputations"]> + +export type reputationsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + user_id?: boolean + total?: boolean + average?: boolean + total_pro?: boolean + average_pro?: boolean + updated_at?: boolean + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["reputations"]> + +export type reputationsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + user_id?: boolean + total?: boolean + average?: boolean + total_pro?: boolean + average_pro?: boolean + updated_at?: boolean + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["reputations"]> + +export type reputationsSelectScalar = { + user_id?: boolean + total?: boolean + average?: boolean + total_pro?: boolean + average_pro?: boolean + updated_at?: boolean +} + +export type reputationsOmit = runtime.Types.Extensions.GetOmit<"user_id" | "total" | "average" | "total_pro" | "average_pro" | "updated_at", ExtArgs["result"]["reputations"]> +export type reputationsInclude = { + users?: boolean | Prisma.usersDefaultArgs +} +export type reputationsIncludeCreateManyAndReturn = { + users?: boolean | Prisma.usersDefaultArgs +} +export type reputationsIncludeUpdateManyAndReturn = { + users?: boolean | Prisma.usersDefaultArgs +} + +export type $reputationsPayload = { + name: "reputations" + objects: { + users: Prisma.$usersPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + user_id: string + total: number + average: runtime.Decimal + total_pro: number + average_pro: runtime.Decimal + updated_at: Date + }, ExtArgs["result"]["reputations"]> + composites: {} +} + +export type reputationsGetPayload = runtime.Types.Result.GetResult + +export type reputationsCountArgs = + Omit & { + select?: ReputationsCountAggregateInputType | true + } + +export interface reputationsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['reputations'], meta: { name: 'reputations' } } + /** + * Find zero or one Reputations that matches the filter. + * @param {reputationsFindUniqueArgs} args - Arguments to find a Reputations + * @example + * // Get one Reputations + * const reputations = await prisma.reputations.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__reputationsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Reputations that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {reputationsFindUniqueOrThrowArgs} args - Arguments to find a Reputations + * @example + * // Get one Reputations + * const reputations = await prisma.reputations.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__reputationsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Reputations 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 {reputationsFindFirstArgs} args - Arguments to find a Reputations + * @example + * // Get one Reputations + * const reputations = await prisma.reputations.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__reputationsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Reputations 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 {reputationsFindFirstOrThrowArgs} args - Arguments to find a Reputations + * @example + * // Get one Reputations + * const reputations = await prisma.reputations.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__reputationsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Reputations 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 {reputationsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Reputations + * const reputations = await prisma.reputations.findMany() + * + * // Get first 10 Reputations + * const reputations = await prisma.reputations.findMany({ take: 10 }) + * + * // Only select the `user_id` + * const reputationsWithUser_idOnly = await prisma.reputations.findMany({ select: { user_id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Reputations. + * @param {reputationsCreateArgs} args - Arguments to create a Reputations. + * @example + * // Create one Reputations + * const Reputations = await prisma.reputations.create({ + * data: { + * // ... data to create a Reputations + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__reputationsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Reputations. + * @param {reputationsCreateManyArgs} args - Arguments to create many Reputations. + * @example + * // Create many Reputations + * const reputations = await prisma.reputations.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Reputations and returns the data saved in the database. + * @param {reputationsCreateManyAndReturnArgs} args - Arguments to create many Reputations. + * @example + * // Create many Reputations + * const reputations = await prisma.reputations.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Reputations and only return the `user_id` + * const reputationsWithUser_idOnly = await prisma.reputations.createManyAndReturn({ + * select: { user_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 Reputations. + * @param {reputationsDeleteArgs} args - Arguments to delete one Reputations. + * @example + * // Delete one Reputations + * const Reputations = await prisma.reputations.delete({ + * where: { + * // ... filter to delete one Reputations + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__reputationsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Reputations. + * @param {reputationsUpdateArgs} args - Arguments to update one Reputations. + * @example + * // Update one Reputations + * const reputations = await prisma.reputations.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__reputationsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Reputations. + * @param {reputationsDeleteManyArgs} args - Arguments to filter Reputations to delete. + * @example + * // Delete a few Reputations + * const { count } = await prisma.reputations.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Reputations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {reputationsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Reputations + * const reputations = await prisma.reputations.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Reputations and returns the data updated in the database. + * @param {reputationsUpdateManyAndReturnArgs} args - Arguments to update many Reputations. + * @example + * // Update many Reputations + * const reputations = await prisma.reputations.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Reputations and only return the `user_id` + * const reputationsWithUser_idOnly = await prisma.reputations.updateManyAndReturn({ + * select: { user_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 Reputations. + * @param {reputationsUpsertArgs} args - Arguments to update or create a Reputations. + * @example + * // Update or create a Reputations + * const reputations = await prisma.reputations.upsert({ + * create: { + * // ... data to create a Reputations + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Reputations we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__reputationsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Reputations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {reputationsCountArgs} args - Arguments to filter Reputations to count. + * @example + * // Count the number of Reputations + * const count = await prisma.reputations.count({ + * where: { + * // ... the filter for the Reputations 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 Reputations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ReputationsAggregateArgs} 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 Reputations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {reputationsGroupByArgs} 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 reputationsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: reputationsGroupByArgs['orderBy'] } + : { orderBy?: reputationsGroupByArgs['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 ? GetReputationsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the reputations model + */ +readonly fields: reputationsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for reputations. + * 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__reputationsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + users = {}>(args?: Prisma.Subset>): Prisma.Prisma__usersClient, 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 reputations model + */ +export interface reputationsFieldRefs { + readonly user_id: Prisma.FieldRef<"reputations", 'String'> + readonly total: Prisma.FieldRef<"reputations", 'Int'> + readonly average: Prisma.FieldRef<"reputations", 'Decimal'> + readonly total_pro: Prisma.FieldRef<"reputations", 'Int'> + readonly average_pro: Prisma.FieldRef<"reputations", 'Decimal'> + readonly updated_at: Prisma.FieldRef<"reputations", 'DateTime'> +} + + +// Custom InputTypes +/** + * reputations findUnique + */ +export type reputationsFindUniqueArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * Filter, which reputations to fetch. + */ + where: Prisma.reputationsWhereUniqueInput +} + +/** + * reputations findUniqueOrThrow + */ +export type reputationsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * Filter, which reputations to fetch. + */ + where: Prisma.reputationsWhereUniqueInput +} + +/** + * reputations findFirst + */ +export type reputationsFindFirstArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * Filter, which reputations to fetch. + */ + where?: Prisma.reputationsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of reputations to fetch. + */ + orderBy?: Prisma.reputationsOrderByWithRelationInput | Prisma.reputationsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for reputations. + */ + cursor?: Prisma.reputationsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` reputations 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` reputations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of reputations. + */ + distinct?: Prisma.ReputationsScalarFieldEnum | Prisma.ReputationsScalarFieldEnum[] +} + +/** + * reputations findFirstOrThrow + */ +export type reputationsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * Filter, which reputations to fetch. + */ + where?: Prisma.reputationsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of reputations to fetch. + */ + orderBy?: Prisma.reputationsOrderByWithRelationInput | Prisma.reputationsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for reputations. + */ + cursor?: Prisma.reputationsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` reputations 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` reputations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of reputations. + */ + distinct?: Prisma.ReputationsScalarFieldEnum | Prisma.ReputationsScalarFieldEnum[] +} + +/** + * reputations findMany + */ +export type reputationsFindManyArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * Filter, which reputations to fetch. + */ + where?: Prisma.reputationsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of reputations to fetch. + */ + orderBy?: Prisma.reputationsOrderByWithRelationInput | Prisma.reputationsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing reputations. + */ + cursor?: Prisma.reputationsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` reputations 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` reputations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of reputations. + */ + distinct?: Prisma.ReputationsScalarFieldEnum | Prisma.ReputationsScalarFieldEnum[] +} + +/** + * reputations create + */ +export type reputationsCreateArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * The data needed to create a reputations. + */ + data: Prisma.XOR +} + +/** + * reputations createMany + */ +export type reputationsCreateManyArgs = { + /** + * The data used to create many reputations. + */ + data: Prisma.reputationsCreateManyInput | Prisma.reputationsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * reputations createManyAndReturn + */ +export type reputationsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * The data used to create many reputations. + */ + data: Prisma.reputationsCreateManyInput | Prisma.reputationsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsIncludeCreateManyAndReturn | null +} + +/** + * reputations update + */ +export type reputationsUpdateArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * The data needed to update a reputations. + */ + data: Prisma.XOR + /** + * Choose, which reputations to update. + */ + where: Prisma.reputationsWhereUniqueInput +} + +/** + * reputations updateMany + */ +export type reputationsUpdateManyArgs = { + /** + * The data used to update reputations. + */ + data: Prisma.XOR + /** + * Filter which reputations to update + */ + where?: Prisma.reputationsWhereInput + /** + * Limit how many reputations to update. + */ + limit?: number +} + +/** + * reputations updateManyAndReturn + */ +export type reputationsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * The data used to update reputations. + */ + data: Prisma.XOR + /** + * Filter which reputations to update + */ + where?: Prisma.reputationsWhereInput + /** + * Limit how many reputations to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsIncludeUpdateManyAndReturn | null +} + +/** + * reputations upsert + */ +export type reputationsUpsertArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * The filter to search for the reputations to update in case it exists. + */ + where: Prisma.reputationsWhereUniqueInput + /** + * In case the reputations found by the `where` argument doesn't exist, create a new reputations with this data. + */ + create: Prisma.XOR + /** + * In case the reputations was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * reputations delete + */ +export type reputationsDeleteArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + /** + * Filter which reputations to delete. + */ + where: Prisma.reputationsWhereUniqueInput +} + +/** + * reputations deleteMany + */ +export type reputationsDeleteManyArgs = { + /** + * Filter which reputations to delete + */ + where?: Prisma.reputationsWhereInput + /** + * Limit how many reputations to delete. + */ + limit?: number +} + +/** + * reputations without action + */ +export type reputationsDefaultArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null +} diff --git a/backend/src/generated/prisma/models/schedules.ts b/backend/src/generated/prisma/models/schedules.ts new file mode 100644 index 0000000..a74b090 --- /dev/null +++ b/backend/src/generated/prisma/models/schedules.ts @@ -0,0 +1,1539 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `schedules` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model schedules + * This table contains check constraints and requires additional setup for migrations. Visit https://pris.ly/d/check-constraints for more info. + */ +export type schedulesModel = runtime.Types.Result.DefaultSelection + +export type AggregateSchedules = { + _count: SchedulesCountAggregateOutputType | null + _avg: SchedulesAvgAggregateOutputType | null + _sum: SchedulesSumAggregateOutputType | null + _min: SchedulesMinAggregateOutputType | null + _max: SchedulesMaxAggregateOutputType | null +} + +export type SchedulesAvgAggregateOutputType = { + day_of_week: number | null +} + +export type SchedulesSumAggregateOutputType = { + day_of_week: number | null +} + +export type SchedulesMinAggregateOutputType = { + id: string | null + professional_id: string | null + day_of_week: number | null + enabled: boolean | null + continuous_day: boolean | null + range1_hour1: Date | null + range1_hour2: Date | null + range2_hour1: Date | null + range2_hour2: Date | null +} + +export type SchedulesMaxAggregateOutputType = { + id: string | null + professional_id: string | null + day_of_week: number | null + enabled: boolean | null + continuous_day: boolean | null + range1_hour1: Date | null + range1_hour2: Date | null + range2_hour1: Date | null + range2_hour2: Date | null +} + +export type SchedulesCountAggregateOutputType = { + id: number + professional_id: number + day_of_week: number + enabled: number + continuous_day: number + range1_hour1: number + range1_hour2: number + range2_hour1: number + range2_hour2: number + _all: number +} + + +export type SchedulesAvgAggregateInputType = { + day_of_week?: true +} + +export type SchedulesSumAggregateInputType = { + day_of_week?: true +} + +export type SchedulesMinAggregateInputType = { + id?: true + professional_id?: true + day_of_week?: true + enabled?: true + continuous_day?: true + range1_hour1?: true + range1_hour2?: true + range2_hour1?: true + range2_hour2?: true +} + +export type SchedulesMaxAggregateInputType = { + id?: true + professional_id?: true + day_of_week?: true + enabled?: true + continuous_day?: true + range1_hour1?: true + range1_hour2?: true + range2_hour1?: true + range2_hour2?: true +} + +export type SchedulesCountAggregateInputType = { + id?: true + professional_id?: true + day_of_week?: true + enabled?: true + continuous_day?: true + range1_hour1?: true + range1_hour2?: true + range2_hour1?: true + range2_hour2?: true + _all?: true +} + +export type SchedulesAggregateArgs = { + /** + * Filter which schedules to aggregate. + */ + where?: Prisma.schedulesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of schedules to fetch. + */ + orderBy?: Prisma.schedulesOrderByWithRelationInput | Prisma.schedulesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.schedulesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` schedules 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` schedules. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned schedules + **/ + _count?: true | SchedulesCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: SchedulesAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: SchedulesSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: SchedulesMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: SchedulesMaxAggregateInputType +} + +export type GetSchedulesAggregateType = { + [P in keyof T & keyof AggregateSchedules]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type schedulesGroupByArgs = { + where?: Prisma.schedulesWhereInput + orderBy?: Prisma.schedulesOrderByWithAggregationInput | Prisma.schedulesOrderByWithAggregationInput[] + by: Prisma.SchedulesScalarFieldEnum[] | Prisma.SchedulesScalarFieldEnum + having?: Prisma.schedulesScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: SchedulesCountAggregateInputType | true + _avg?: SchedulesAvgAggregateInputType + _sum?: SchedulesSumAggregateInputType + _min?: SchedulesMinAggregateInputType + _max?: SchedulesMaxAggregateInputType +} + +export type SchedulesGroupByOutputType = { + id: string + professional_id: string + day_of_week: number + enabled: boolean | null + continuous_day: boolean | null + range1_hour1: Date | null + range1_hour2: Date | null + range2_hour1: Date | null + range2_hour2: Date | null + _count: SchedulesCountAggregateOutputType | null + _avg: SchedulesAvgAggregateOutputType | null + _sum: SchedulesSumAggregateOutputType | null + _min: SchedulesMinAggregateOutputType | null + _max: SchedulesMaxAggregateOutputType | null +} + +export type GetSchedulesGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof SchedulesGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type schedulesWhereInput = { + AND?: Prisma.schedulesWhereInput | Prisma.schedulesWhereInput[] + OR?: Prisma.schedulesWhereInput[] + NOT?: Prisma.schedulesWhereInput | Prisma.schedulesWhereInput[] + id?: Prisma.UuidFilter<"schedules"> | string + professional_id?: Prisma.UuidFilter<"schedules"> | string + day_of_week?: Prisma.IntFilter<"schedules"> | number + enabled?: Prisma.BoolNullableFilter<"schedules"> | boolean | null + continuous_day?: Prisma.BoolNullableFilter<"schedules"> | boolean | null + range1_hour1?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range1_hour2?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range2_hour1?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range2_hour2?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + professionals?: Prisma.XOR +} + +export type schedulesOrderByWithRelationInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + day_of_week?: Prisma.SortOrder + enabled?: Prisma.SortOrderInput | Prisma.SortOrder + continuous_day?: Prisma.SortOrderInput | Prisma.SortOrder + range1_hour1?: Prisma.SortOrderInput | Prisma.SortOrder + range1_hour2?: Prisma.SortOrderInput | Prisma.SortOrder + range2_hour1?: Prisma.SortOrderInput | Prisma.SortOrder + range2_hour2?: Prisma.SortOrderInput | Prisma.SortOrder + professionals?: Prisma.professionalsOrderByWithRelationInput +} + +export type schedulesWhereUniqueInput = Prisma.AtLeast<{ + id?: string + professional_id_day_of_week?: Prisma.schedulesProfessional_idDay_of_weekCompoundUniqueInput + AND?: Prisma.schedulesWhereInput | Prisma.schedulesWhereInput[] + OR?: Prisma.schedulesWhereInput[] + NOT?: Prisma.schedulesWhereInput | Prisma.schedulesWhereInput[] + professional_id?: Prisma.UuidFilter<"schedules"> | string + day_of_week?: Prisma.IntFilter<"schedules"> | number + enabled?: Prisma.BoolNullableFilter<"schedules"> | boolean | null + continuous_day?: Prisma.BoolNullableFilter<"schedules"> | boolean | null + range1_hour1?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range1_hour2?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range2_hour1?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range2_hour2?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + professionals?: Prisma.XOR +}, "id" | "professional_id_day_of_week"> + +export type schedulesOrderByWithAggregationInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + day_of_week?: Prisma.SortOrder + enabled?: Prisma.SortOrderInput | Prisma.SortOrder + continuous_day?: Prisma.SortOrderInput | Prisma.SortOrder + range1_hour1?: Prisma.SortOrderInput | Prisma.SortOrder + range1_hour2?: Prisma.SortOrderInput | Prisma.SortOrder + range2_hour1?: Prisma.SortOrderInput | Prisma.SortOrder + range2_hour2?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.schedulesCountOrderByAggregateInput + _avg?: Prisma.schedulesAvgOrderByAggregateInput + _max?: Prisma.schedulesMaxOrderByAggregateInput + _min?: Prisma.schedulesMinOrderByAggregateInput + _sum?: Prisma.schedulesSumOrderByAggregateInput +} + +export type schedulesScalarWhereWithAggregatesInput = { + AND?: Prisma.schedulesScalarWhereWithAggregatesInput | Prisma.schedulesScalarWhereWithAggregatesInput[] + OR?: Prisma.schedulesScalarWhereWithAggregatesInput[] + NOT?: Prisma.schedulesScalarWhereWithAggregatesInput | Prisma.schedulesScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"schedules"> | string + professional_id?: Prisma.UuidWithAggregatesFilter<"schedules"> | string + day_of_week?: Prisma.IntWithAggregatesFilter<"schedules"> | number + enabled?: Prisma.BoolNullableWithAggregatesFilter<"schedules"> | boolean | null + continuous_day?: Prisma.BoolNullableWithAggregatesFilter<"schedules"> | boolean | null + range1_hour1?: Prisma.DateTimeNullableWithAggregatesFilter<"schedules"> | Date | string | null + range1_hour2?: Prisma.DateTimeNullableWithAggregatesFilter<"schedules"> | Date | string | null + range2_hour1?: Prisma.DateTimeNullableWithAggregatesFilter<"schedules"> | Date | string | null + range2_hour2?: Prisma.DateTimeNullableWithAggregatesFilter<"schedules"> | Date | string | null +} + +export type schedulesCreateInput = { + id?: string + day_of_week: number + enabled?: boolean | null + continuous_day?: boolean | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + range2_hour1?: Date | string | null + range2_hour2?: Date | string | null + professionals: Prisma.professionalsCreateNestedOneWithoutSchedulesInput +} + +export type schedulesUncheckedCreateInput = { + id?: string + professional_id: string + day_of_week: number + enabled?: boolean | null + continuous_day?: boolean | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + range2_hour1?: Date | string | null + range2_hour2?: Date | string | null +} + +export type schedulesUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + day_of_week?: Prisma.IntFieldUpdateOperationsInput | number + enabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + continuous_day?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + professionals?: Prisma.professionalsUpdateOneRequiredWithoutSchedulesNestedInput +} + +export type schedulesUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + day_of_week?: Prisma.IntFieldUpdateOperationsInput | number + enabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + continuous_day?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type schedulesCreateManyInput = { + id?: string + professional_id: string + day_of_week: number + enabled?: boolean | null + continuous_day?: boolean | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + range2_hour1?: Date | string | null + range2_hour2?: Date | string | null +} + +export type schedulesUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + day_of_week?: Prisma.IntFieldUpdateOperationsInput | number + enabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + continuous_day?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type schedulesUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + day_of_week?: Prisma.IntFieldUpdateOperationsInput | number + enabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + continuous_day?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type SchedulesListRelationFilter = { + every?: Prisma.schedulesWhereInput + some?: Prisma.schedulesWhereInput + none?: Prisma.schedulesWhereInput +} + +export type schedulesOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type schedulesProfessional_idDay_of_weekCompoundUniqueInput = { + professional_id: string + day_of_week: number +} + +export type schedulesCountOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + day_of_week?: Prisma.SortOrder + enabled?: Prisma.SortOrder + continuous_day?: Prisma.SortOrder + range1_hour1?: Prisma.SortOrder + range1_hour2?: Prisma.SortOrder + range2_hour1?: Prisma.SortOrder + range2_hour2?: Prisma.SortOrder +} + +export type schedulesAvgOrderByAggregateInput = { + day_of_week?: Prisma.SortOrder +} + +export type schedulesMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + day_of_week?: Prisma.SortOrder + enabled?: Prisma.SortOrder + continuous_day?: Prisma.SortOrder + range1_hour1?: Prisma.SortOrder + range1_hour2?: Prisma.SortOrder + range2_hour1?: Prisma.SortOrder + range2_hour2?: Prisma.SortOrder +} + +export type schedulesMinOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + day_of_week?: Prisma.SortOrder + enabled?: Prisma.SortOrder + continuous_day?: Prisma.SortOrder + range1_hour1?: Prisma.SortOrder + range1_hour2?: Prisma.SortOrder + range2_hour1?: Prisma.SortOrder + range2_hour2?: Prisma.SortOrder +} + +export type schedulesSumOrderByAggregateInput = { + day_of_week?: Prisma.SortOrder +} + +export type schedulesCreateNestedManyWithoutProfessionalsInput = { + create?: Prisma.XOR | Prisma.schedulesCreateWithoutProfessionalsInput[] | Prisma.schedulesUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.schedulesCreateOrConnectWithoutProfessionalsInput | Prisma.schedulesCreateOrConnectWithoutProfessionalsInput[] + createMany?: Prisma.schedulesCreateManyProfessionalsInputEnvelope + connect?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] +} + +export type schedulesUncheckedCreateNestedManyWithoutProfessionalsInput = { + create?: Prisma.XOR | Prisma.schedulesCreateWithoutProfessionalsInput[] | Prisma.schedulesUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.schedulesCreateOrConnectWithoutProfessionalsInput | Prisma.schedulesCreateOrConnectWithoutProfessionalsInput[] + createMany?: Prisma.schedulesCreateManyProfessionalsInputEnvelope + connect?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] +} + +export type schedulesUpdateManyWithoutProfessionalsNestedInput = { + create?: Prisma.XOR | Prisma.schedulesCreateWithoutProfessionalsInput[] | Prisma.schedulesUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.schedulesCreateOrConnectWithoutProfessionalsInput | Prisma.schedulesCreateOrConnectWithoutProfessionalsInput[] + upsert?: Prisma.schedulesUpsertWithWhereUniqueWithoutProfessionalsInput | Prisma.schedulesUpsertWithWhereUniqueWithoutProfessionalsInput[] + createMany?: Prisma.schedulesCreateManyProfessionalsInputEnvelope + set?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] + disconnect?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] + delete?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] + connect?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] + update?: Prisma.schedulesUpdateWithWhereUniqueWithoutProfessionalsInput | Prisma.schedulesUpdateWithWhereUniqueWithoutProfessionalsInput[] + updateMany?: Prisma.schedulesUpdateManyWithWhereWithoutProfessionalsInput | Prisma.schedulesUpdateManyWithWhereWithoutProfessionalsInput[] + deleteMany?: Prisma.schedulesScalarWhereInput | Prisma.schedulesScalarWhereInput[] +} + +export type schedulesUncheckedUpdateManyWithoutProfessionalsNestedInput = { + create?: Prisma.XOR | Prisma.schedulesCreateWithoutProfessionalsInput[] | Prisma.schedulesUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.schedulesCreateOrConnectWithoutProfessionalsInput | Prisma.schedulesCreateOrConnectWithoutProfessionalsInput[] + upsert?: Prisma.schedulesUpsertWithWhereUniqueWithoutProfessionalsInput | Prisma.schedulesUpsertWithWhereUniqueWithoutProfessionalsInput[] + createMany?: Prisma.schedulesCreateManyProfessionalsInputEnvelope + set?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] + disconnect?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] + delete?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] + connect?: Prisma.schedulesWhereUniqueInput | Prisma.schedulesWhereUniqueInput[] + update?: Prisma.schedulesUpdateWithWhereUniqueWithoutProfessionalsInput | Prisma.schedulesUpdateWithWhereUniqueWithoutProfessionalsInput[] + updateMany?: Prisma.schedulesUpdateManyWithWhereWithoutProfessionalsInput | Prisma.schedulesUpdateManyWithWhereWithoutProfessionalsInput[] + deleteMany?: Prisma.schedulesScalarWhereInput | Prisma.schedulesScalarWhereInput[] +} + +export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null +} + +export type schedulesCreateWithoutProfessionalsInput = { + id?: string + day_of_week: number + enabled?: boolean | null + continuous_day?: boolean | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + range2_hour1?: Date | string | null + range2_hour2?: Date | string | null +} + +export type schedulesUncheckedCreateWithoutProfessionalsInput = { + id?: string + day_of_week: number + enabled?: boolean | null + continuous_day?: boolean | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + range2_hour1?: Date | string | null + range2_hour2?: Date | string | null +} + +export type schedulesCreateOrConnectWithoutProfessionalsInput = { + where: Prisma.schedulesWhereUniqueInput + create: Prisma.XOR +} + +export type schedulesCreateManyProfessionalsInputEnvelope = { + data: Prisma.schedulesCreateManyProfessionalsInput | Prisma.schedulesCreateManyProfessionalsInput[] + skipDuplicates?: boolean +} + +export type schedulesUpsertWithWhereUniqueWithoutProfessionalsInput = { + where: Prisma.schedulesWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type schedulesUpdateWithWhereUniqueWithoutProfessionalsInput = { + where: Prisma.schedulesWhereUniqueInput + data: Prisma.XOR +} + +export type schedulesUpdateManyWithWhereWithoutProfessionalsInput = { + where: Prisma.schedulesScalarWhereInput + data: Prisma.XOR +} + +export type schedulesScalarWhereInput = { + AND?: Prisma.schedulesScalarWhereInput | Prisma.schedulesScalarWhereInput[] + OR?: Prisma.schedulesScalarWhereInput[] + NOT?: Prisma.schedulesScalarWhereInput | Prisma.schedulesScalarWhereInput[] + id?: Prisma.UuidFilter<"schedules"> | string + professional_id?: Prisma.UuidFilter<"schedules"> | string + day_of_week?: Prisma.IntFilter<"schedules"> | number + enabled?: Prisma.BoolNullableFilter<"schedules"> | boolean | null + continuous_day?: Prisma.BoolNullableFilter<"schedules"> | boolean | null + range1_hour1?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range1_hour2?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range2_hour1?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null + range2_hour2?: Prisma.DateTimeNullableFilter<"schedules"> | Date | string | null +} + +export type schedulesCreateManyProfessionalsInput = { + id?: string + day_of_week: number + enabled?: boolean | null + continuous_day?: boolean | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + range2_hour1?: Date | string | null + range2_hour2?: Date | string | null +} + +export type schedulesUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + day_of_week?: Prisma.IntFieldUpdateOperationsInput | number + enabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + continuous_day?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type schedulesUncheckedUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + day_of_week?: Prisma.IntFieldUpdateOperationsInput | number + enabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + continuous_day?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type schedulesUncheckedUpdateManyWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + day_of_week?: Prisma.IntFieldUpdateOperationsInput | number + enabled?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + continuous_day?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range2_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + + + +export type schedulesSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + day_of_week?: boolean + enabled?: boolean + continuous_day?: boolean + range1_hour1?: boolean + range1_hour2?: boolean + range2_hour1?: boolean + range2_hour2?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["schedules"]> + +export type schedulesSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + day_of_week?: boolean + enabled?: boolean + continuous_day?: boolean + range1_hour1?: boolean + range1_hour2?: boolean + range2_hour1?: boolean + range2_hour2?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["schedules"]> + +export type schedulesSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + day_of_week?: boolean + enabled?: boolean + continuous_day?: boolean + range1_hour1?: boolean + range1_hour2?: boolean + range2_hour1?: boolean + range2_hour2?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["schedules"]> + +export type schedulesSelectScalar = { + id?: boolean + professional_id?: boolean + day_of_week?: boolean + enabled?: boolean + continuous_day?: boolean + range1_hour1?: boolean + range1_hour2?: boolean + range2_hour1?: boolean + range2_hour2?: boolean +} + +export type schedulesOmit = runtime.Types.Extensions.GetOmit<"id" | "professional_id" | "day_of_week" | "enabled" | "continuous_day" | "range1_hour1" | "range1_hour2" | "range2_hour1" | "range2_hour2", ExtArgs["result"]["schedules"]> +export type schedulesInclude = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} +export type schedulesIncludeCreateManyAndReturn = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} +export type schedulesIncludeUpdateManyAndReturn = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} + +export type $schedulesPayload = { + name: "schedules" + objects: { + professionals: Prisma.$professionalsPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + professional_id: string + day_of_week: number + enabled: boolean | null + continuous_day: boolean | null + range1_hour1: Date | null + range1_hour2: Date | null + range2_hour1: Date | null + range2_hour2: Date | null + }, ExtArgs["result"]["schedules"]> + composites: {} +} + +export type schedulesGetPayload = runtime.Types.Result.GetResult + +export type schedulesCountArgs = + Omit & { + select?: SchedulesCountAggregateInputType | true + } + +export interface schedulesDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['schedules'], meta: { name: 'schedules' } } + /** + * Find zero or one Schedules that matches the filter. + * @param {schedulesFindUniqueArgs} args - Arguments to find a Schedules + * @example + * // Get one Schedules + * const schedules = await prisma.schedules.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__schedulesClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Schedules that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {schedulesFindUniqueOrThrowArgs} args - Arguments to find a Schedules + * @example + * // Get one Schedules + * const schedules = await prisma.schedules.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__schedulesClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Schedules 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 {schedulesFindFirstArgs} args - Arguments to find a Schedules + * @example + * // Get one Schedules + * const schedules = await prisma.schedules.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__schedulesClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Schedules 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 {schedulesFindFirstOrThrowArgs} args - Arguments to find a Schedules + * @example + * // Get one Schedules + * const schedules = await prisma.schedules.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__schedulesClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Schedules 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 {schedulesFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Schedules + * const schedules = await prisma.schedules.findMany() + * + * // Get first 10 Schedules + * const schedules = await prisma.schedules.findMany({ take: 10 }) + * + * // Only select the `id` + * const schedulesWithIdOnly = await prisma.schedules.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Schedules. + * @param {schedulesCreateArgs} args - Arguments to create a Schedules. + * @example + * // Create one Schedules + * const Schedules = await prisma.schedules.create({ + * data: { + * // ... data to create a Schedules + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__schedulesClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Schedules. + * @param {schedulesCreateManyArgs} args - Arguments to create many Schedules. + * @example + * // Create many Schedules + * const schedules = await prisma.schedules.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Schedules and returns the data saved in the database. + * @param {schedulesCreateManyAndReturnArgs} args - Arguments to create many Schedules. + * @example + * // Create many Schedules + * const schedules = await prisma.schedules.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Schedules and only return the `id` + * const schedulesWithIdOnly = await prisma.schedules.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 Schedules. + * @param {schedulesDeleteArgs} args - Arguments to delete one Schedules. + * @example + * // Delete one Schedules + * const Schedules = await prisma.schedules.delete({ + * where: { + * // ... filter to delete one Schedules + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__schedulesClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Schedules. + * @param {schedulesUpdateArgs} args - Arguments to update one Schedules. + * @example + * // Update one Schedules + * const schedules = await prisma.schedules.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__schedulesClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Schedules. + * @param {schedulesDeleteManyArgs} args - Arguments to filter Schedules to delete. + * @example + * // Delete a few Schedules + * const { count } = await prisma.schedules.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Schedules. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {schedulesUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Schedules + * const schedules = await prisma.schedules.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Schedules and returns the data updated in the database. + * @param {schedulesUpdateManyAndReturnArgs} args - Arguments to update many Schedules. + * @example + * // Update many Schedules + * const schedules = await prisma.schedules.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Schedules and only return the `id` + * const schedulesWithIdOnly = await prisma.schedules.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 Schedules. + * @param {schedulesUpsertArgs} args - Arguments to update or create a Schedules. + * @example + * // Update or create a Schedules + * const schedules = await prisma.schedules.upsert({ + * create: { + * // ... data to create a Schedules + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Schedules we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__schedulesClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Schedules. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {schedulesCountArgs} args - Arguments to filter Schedules to count. + * @example + * // Count the number of Schedules + * const count = await prisma.schedules.count({ + * where: { + * // ... the filter for the Schedules 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 Schedules. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SchedulesAggregateArgs} 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 Schedules. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {schedulesGroupByArgs} 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 schedulesGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: schedulesGroupByArgs['orderBy'] } + : { orderBy?: schedulesGroupByArgs['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 ? GetSchedulesGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the schedules model + */ +readonly fields: schedulesFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for schedules. + * 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__schedulesClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + professionals = {}>(args?: Prisma.Subset>): Prisma.Prisma__professionalsClient, 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 schedules model + */ +export interface schedulesFieldRefs { + readonly id: Prisma.FieldRef<"schedules", 'String'> + readonly professional_id: Prisma.FieldRef<"schedules", 'String'> + readonly day_of_week: Prisma.FieldRef<"schedules", 'Int'> + readonly enabled: Prisma.FieldRef<"schedules", 'Boolean'> + readonly continuous_day: Prisma.FieldRef<"schedules", 'Boolean'> + readonly range1_hour1: Prisma.FieldRef<"schedules", 'DateTime'> + readonly range1_hour2: Prisma.FieldRef<"schedules", 'DateTime'> + readonly range2_hour1: Prisma.FieldRef<"schedules", 'DateTime'> + readonly range2_hour2: Prisma.FieldRef<"schedules", 'DateTime'> +} + + +// Custom InputTypes +/** + * schedules findUnique + */ +export type schedulesFindUniqueArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * Filter, which schedules to fetch. + */ + where: Prisma.schedulesWhereUniqueInput +} + +/** + * schedules findUniqueOrThrow + */ +export type schedulesFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * Filter, which schedules to fetch. + */ + where: Prisma.schedulesWhereUniqueInput +} + +/** + * schedules findFirst + */ +export type schedulesFindFirstArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * Filter, which schedules to fetch. + */ + where?: Prisma.schedulesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of schedules to fetch. + */ + orderBy?: Prisma.schedulesOrderByWithRelationInput | Prisma.schedulesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for schedules. + */ + cursor?: Prisma.schedulesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` schedules 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` schedules. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of schedules. + */ + distinct?: Prisma.SchedulesScalarFieldEnum | Prisma.SchedulesScalarFieldEnum[] +} + +/** + * schedules findFirstOrThrow + */ +export type schedulesFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * Filter, which schedules to fetch. + */ + where?: Prisma.schedulesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of schedules to fetch. + */ + orderBy?: Prisma.schedulesOrderByWithRelationInput | Prisma.schedulesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for schedules. + */ + cursor?: Prisma.schedulesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` schedules 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` schedules. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of schedules. + */ + distinct?: Prisma.SchedulesScalarFieldEnum | Prisma.SchedulesScalarFieldEnum[] +} + +/** + * schedules findMany + */ +export type schedulesFindManyArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * Filter, which schedules to fetch. + */ + where?: Prisma.schedulesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of schedules to fetch. + */ + orderBy?: Prisma.schedulesOrderByWithRelationInput | Prisma.schedulesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing schedules. + */ + cursor?: Prisma.schedulesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` schedules 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` schedules. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of schedules. + */ + distinct?: Prisma.SchedulesScalarFieldEnum | Prisma.SchedulesScalarFieldEnum[] +} + +/** + * schedules create + */ +export type schedulesCreateArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * The data needed to create a schedules. + */ + data: Prisma.XOR +} + +/** + * schedules createMany + */ +export type schedulesCreateManyArgs = { + /** + * The data used to create many schedules. + */ + data: Prisma.schedulesCreateManyInput | Prisma.schedulesCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * schedules createManyAndReturn + */ +export type schedulesCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelectCreateManyAndReturn | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * The data used to create many schedules. + */ + data: Prisma.schedulesCreateManyInput | Prisma.schedulesCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesIncludeCreateManyAndReturn | null +} + +/** + * schedules update + */ +export type schedulesUpdateArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * The data needed to update a schedules. + */ + data: Prisma.XOR + /** + * Choose, which schedules to update. + */ + where: Prisma.schedulesWhereUniqueInput +} + +/** + * schedules updateMany + */ +export type schedulesUpdateManyArgs = { + /** + * The data used to update schedules. + */ + data: Prisma.XOR + /** + * Filter which schedules to update + */ + where?: Prisma.schedulesWhereInput + /** + * Limit how many schedules to update. + */ + limit?: number +} + +/** + * schedules updateManyAndReturn + */ +export type schedulesUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * The data used to update schedules. + */ + data: Prisma.XOR + /** + * Filter which schedules to update + */ + where?: Prisma.schedulesWhereInput + /** + * Limit how many schedules to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesIncludeUpdateManyAndReturn | null +} + +/** + * schedules upsert + */ +export type schedulesUpsertArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * The filter to search for the schedules to update in case it exists. + */ + where: Prisma.schedulesWhereUniqueInput + /** + * In case the schedules found by the `where` argument doesn't exist, create a new schedules with this data. + */ + create: Prisma.XOR + /** + * In case the schedules was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * schedules delete + */ +export type schedulesDeleteArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null + /** + * Filter which schedules to delete. + */ + where: Prisma.schedulesWhereUniqueInput +} + +/** + * schedules deleteMany + */ +export type schedulesDeleteManyArgs = { + /** + * Filter which schedules to delete + */ + where?: Prisma.schedulesWhereInput + /** + * Limit how many schedules to delete. + */ + limit?: number +} + +/** + * schedules without action + */ +export type schedulesDefaultArgs = { + /** + * Select specific fields to fetch from the schedules + */ + select?: Prisma.schedulesSelect | null + /** + * Omit specific fields from the schedules + */ + omit?: Prisma.schedulesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.schedulesInclude | null +} diff --git a/backend/src/generated/prisma/models/services.ts b/backend/src/generated/prisma/models/services.ts new file mode 100644 index 0000000..491421f --- /dev/null +++ b/backend/src/generated/prisma/models/services.ts @@ -0,0 +1,2257 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `services` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model services + * + */ +export type servicesModel = runtime.Types.Result.DefaultSelection + +export type AggregateServices = { + _count: ServicesCountAggregateOutputType | null + _avg: ServicesAvgAggregateOutputType | null + _sum: ServicesSumAggregateOutputType | null + _min: ServicesMinAggregateOutputType | null + _max: ServicesMaxAggregateOutputType | null +} + +export type ServicesAvgAggregateOutputType = { + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + rate: runtime.Decimal | null +} + +export type ServicesSumAggregateOutputType = { + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + rate: runtime.Decimal | null +} + +export type ServicesMinAggregateOutputType = { + id: string | null + professional_id: string | null + user_id: string | null + address: string | null + additional_address: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + day: Date | null + description: string | null + rate: runtime.Decimal | null + range1_hour1: Date | null + range1_hour2: Date | null + status: $Enums.service_status | null + location_preference: $Enums.service_location | null + professional_scored: boolean | null + user_scored: boolean | null + created_at: Date | null + updated_at: Date | null +} + +export type ServicesMaxAggregateOutputType = { + id: string | null + professional_id: string | null + user_id: string | null + address: string | null + additional_address: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + day: Date | null + description: string | null + rate: runtime.Decimal | null + range1_hour1: Date | null + range1_hour2: Date | null + status: $Enums.service_status | null + location_preference: $Enums.service_location | null + professional_scored: boolean | null + user_scored: boolean | null + created_at: Date | null + updated_at: Date | null +} + +export type ServicesCountAggregateOutputType = { + id: number + professional_id: number + user_id: number + address: number + additional_address: number + latitude: number + longitude: number + day: number + description: number + rate: number + range1_hour1: number + range1_hour2: number + status: number + location_preference: number + professional_scored: number + user_scored: number + created_at: number + updated_at: number + _all: number +} + + +export type ServicesAvgAggregateInputType = { + latitude?: true + longitude?: true + rate?: true +} + +export type ServicesSumAggregateInputType = { + latitude?: true + longitude?: true + rate?: true +} + +export type ServicesMinAggregateInputType = { + id?: true + professional_id?: true + user_id?: true + address?: true + additional_address?: true + latitude?: true + longitude?: true + day?: true + description?: true + rate?: true + range1_hour1?: true + range1_hour2?: true + status?: true + location_preference?: true + professional_scored?: true + user_scored?: true + created_at?: true + updated_at?: true +} + +export type ServicesMaxAggregateInputType = { + id?: true + professional_id?: true + user_id?: true + address?: true + additional_address?: true + latitude?: true + longitude?: true + day?: true + description?: true + rate?: true + range1_hour1?: true + range1_hour2?: true + status?: true + location_preference?: true + professional_scored?: true + user_scored?: true + created_at?: true + updated_at?: true +} + +export type ServicesCountAggregateInputType = { + id?: true + professional_id?: true + user_id?: true + address?: true + additional_address?: true + latitude?: true + longitude?: true + day?: true + description?: true + rate?: true + range1_hour1?: true + range1_hour2?: true + status?: true + location_preference?: true + professional_scored?: true + user_scored?: true + created_at?: true + updated_at?: true + _all?: true +} + +export type ServicesAggregateArgs = { + /** + * Filter which services to aggregate. + */ + where?: Prisma.servicesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of services to fetch. + */ + orderBy?: Prisma.servicesOrderByWithRelationInput | Prisma.servicesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.servicesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` services 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` services. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned services + **/ + _count?: true | ServicesCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ServicesAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ServicesSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ServicesMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ServicesMaxAggregateInputType +} + +export type GetServicesAggregateType = { + [P in keyof T & keyof AggregateServices]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type servicesGroupByArgs = { + where?: Prisma.servicesWhereInput + orderBy?: Prisma.servicesOrderByWithAggregationInput | Prisma.servicesOrderByWithAggregationInput[] + by: Prisma.ServicesScalarFieldEnum[] | Prisma.ServicesScalarFieldEnum + having?: Prisma.servicesScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ServicesCountAggregateInputType | true + _avg?: ServicesAvgAggregateInputType + _sum?: ServicesSumAggregateInputType + _min?: ServicesMinAggregateInputType + _max?: ServicesMaxAggregateInputType +} + +export type ServicesGroupByOutputType = { + id: string + professional_id: string + user_id: string + address: string | null + additional_address: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + day: Date + description: string | null + rate: runtime.Decimal | null + range1_hour1: Date | null + range1_hour2: Date | null + status: $Enums.service_status + location_preference: $Enums.service_location | null + professional_scored: boolean | null + user_scored: boolean | null + created_at: Date + updated_at: Date + _count: ServicesCountAggregateOutputType | null + _avg: ServicesAvgAggregateOutputType | null + _sum: ServicesSumAggregateOutputType | null + _min: ServicesMinAggregateOutputType | null + _max: ServicesMaxAggregateOutputType | null +} + +export type GetServicesGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ServicesGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type servicesWhereInput = { + AND?: Prisma.servicesWhereInput | Prisma.servicesWhereInput[] + OR?: Prisma.servicesWhereInput[] + NOT?: Prisma.servicesWhereInput | Prisma.servicesWhereInput[] + id?: Prisma.UuidFilter<"services"> | string + professional_id?: Prisma.UuidFilter<"services"> | string + user_id?: Prisma.UuidFilter<"services"> | string + address?: Prisma.StringNullableFilter<"services"> | string | null + additional_address?: Prisma.StringNullableFilter<"services"> | string | null + latitude?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFilter<"services"> | Date | string + description?: Prisma.StringNullableFilter<"services"> | string | null + rate?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.DateTimeNullableFilter<"services"> | Date | string | null + range1_hour2?: Prisma.DateTimeNullableFilter<"services"> | Date | string | null + status?: Prisma.Enumservice_statusFilter<"services"> | $Enums.service_status + location_preference?: Prisma.Enumservice_locationNullableFilter<"services"> | $Enums.service_location | null + professional_scored?: Prisma.BoolNullableFilter<"services"> | boolean | null + user_scored?: Prisma.BoolNullableFilter<"services"> | boolean | null + created_at?: Prisma.DateTimeFilter<"services"> | Date | string + updated_at?: Prisma.DateTimeFilter<"services"> | Date | string + comments?: Prisma.CommentsListRelationFilter + professionals?: Prisma.XOR + users?: Prisma.XOR +} + +export type servicesOrderByWithRelationInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + address?: Prisma.SortOrderInput | Prisma.SortOrder + additional_address?: Prisma.SortOrderInput | Prisma.SortOrder + latitude?: Prisma.SortOrderInput | Prisma.SortOrder + longitude?: Prisma.SortOrderInput | Prisma.SortOrder + day?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder + rate?: Prisma.SortOrderInput | Prisma.SortOrder + range1_hour1?: Prisma.SortOrderInput | Prisma.SortOrder + range1_hour2?: Prisma.SortOrderInput | Prisma.SortOrder + status?: Prisma.SortOrder + location_preference?: Prisma.SortOrderInput | Prisma.SortOrder + professional_scored?: Prisma.SortOrderInput | Prisma.SortOrder + user_scored?: Prisma.SortOrderInput | Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + comments?: Prisma.commentsOrderByRelationAggregateInput + professionals?: Prisma.professionalsOrderByWithRelationInput + users?: Prisma.usersOrderByWithRelationInput +} + +export type servicesWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.servicesWhereInput | Prisma.servicesWhereInput[] + OR?: Prisma.servicesWhereInput[] + NOT?: Prisma.servicesWhereInput | Prisma.servicesWhereInput[] + professional_id?: Prisma.UuidFilter<"services"> | string + user_id?: Prisma.UuidFilter<"services"> | string + address?: Prisma.StringNullableFilter<"services"> | string | null + additional_address?: Prisma.StringNullableFilter<"services"> | string | null + latitude?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFilter<"services"> | Date | string + description?: Prisma.StringNullableFilter<"services"> | string | null + rate?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.DateTimeNullableFilter<"services"> | Date | string | null + range1_hour2?: Prisma.DateTimeNullableFilter<"services"> | Date | string | null + status?: Prisma.Enumservice_statusFilter<"services"> | $Enums.service_status + location_preference?: Prisma.Enumservice_locationNullableFilter<"services"> | $Enums.service_location | null + professional_scored?: Prisma.BoolNullableFilter<"services"> | boolean | null + user_scored?: Prisma.BoolNullableFilter<"services"> | boolean | null + created_at?: Prisma.DateTimeFilter<"services"> | Date | string + updated_at?: Prisma.DateTimeFilter<"services"> | Date | string + comments?: Prisma.CommentsListRelationFilter + professionals?: Prisma.XOR + users?: Prisma.XOR +}, "id"> + +export type servicesOrderByWithAggregationInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + address?: Prisma.SortOrderInput | Prisma.SortOrder + additional_address?: Prisma.SortOrderInput | Prisma.SortOrder + latitude?: Prisma.SortOrderInput | Prisma.SortOrder + longitude?: Prisma.SortOrderInput | Prisma.SortOrder + day?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder + rate?: Prisma.SortOrderInput | Prisma.SortOrder + range1_hour1?: Prisma.SortOrderInput | Prisma.SortOrder + range1_hour2?: Prisma.SortOrderInput | Prisma.SortOrder + status?: Prisma.SortOrder + location_preference?: Prisma.SortOrderInput | Prisma.SortOrder + professional_scored?: Prisma.SortOrderInput | Prisma.SortOrder + user_scored?: Prisma.SortOrderInput | Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + _count?: Prisma.servicesCountOrderByAggregateInput + _avg?: Prisma.servicesAvgOrderByAggregateInput + _max?: Prisma.servicesMaxOrderByAggregateInput + _min?: Prisma.servicesMinOrderByAggregateInput + _sum?: Prisma.servicesSumOrderByAggregateInput +} + +export type servicesScalarWhereWithAggregatesInput = { + AND?: Prisma.servicesScalarWhereWithAggregatesInput | Prisma.servicesScalarWhereWithAggregatesInput[] + OR?: Prisma.servicesScalarWhereWithAggregatesInput[] + NOT?: Prisma.servicesScalarWhereWithAggregatesInput | Prisma.servicesScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"services"> | string + professional_id?: Prisma.UuidWithAggregatesFilter<"services"> | string + user_id?: Prisma.UuidWithAggregatesFilter<"services"> | string + address?: Prisma.StringNullableWithAggregatesFilter<"services"> | string | null + additional_address?: Prisma.StringNullableWithAggregatesFilter<"services"> | string | null + latitude?: Prisma.DecimalNullableWithAggregatesFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableWithAggregatesFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeWithAggregatesFilter<"services"> | Date | string + description?: Prisma.StringNullableWithAggregatesFilter<"services"> | string | null + rate?: Prisma.DecimalNullableWithAggregatesFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.DateTimeNullableWithAggregatesFilter<"services"> | Date | string | null + range1_hour2?: Prisma.DateTimeNullableWithAggregatesFilter<"services"> | Date | string | null + status?: Prisma.Enumservice_statusWithAggregatesFilter<"services"> | $Enums.service_status + location_preference?: Prisma.Enumservice_locationNullableWithAggregatesFilter<"services"> | $Enums.service_location | null + professional_scored?: Prisma.BoolNullableWithAggregatesFilter<"services"> | boolean | null + user_scored?: Prisma.BoolNullableWithAggregatesFilter<"services"> | boolean | null + created_at?: Prisma.DateTimeWithAggregatesFilter<"services"> | Date | string + updated_at?: Prisma.DateTimeWithAggregatesFilter<"services"> | Date | string +} + +export type servicesCreateInput = { + id?: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string + comments?: Prisma.commentsCreateNestedManyWithoutServicesInput + professionals: Prisma.professionalsCreateNestedOneWithoutServicesInput + users: Prisma.usersCreateNestedOneWithoutServicesInput +} + +export type servicesUncheckedCreateInput = { + id?: string + professional_id: string + user_id: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string + comments?: Prisma.commentsUncheckedCreateNestedManyWithoutServicesInput +} + +export type servicesUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + comments?: Prisma.commentsUpdateManyWithoutServicesNestedInput + professionals?: Prisma.professionalsUpdateOneRequiredWithoutServicesNestedInput + users?: Prisma.usersUpdateOneRequiredWithoutServicesNestedInput +} + +export type servicesUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + comments?: Prisma.commentsUncheckedUpdateManyWithoutServicesNestedInput +} + +export type servicesCreateManyInput = { + id?: string + professional_id: string + user_id: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string +} + +export type servicesUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type servicesUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ServicesNullableScalarRelationFilter = { + is?: Prisma.servicesWhereInput | null + isNot?: Prisma.servicesWhereInput | null +} + +export type ServicesListRelationFilter = { + every?: Prisma.servicesWhereInput + some?: Prisma.servicesWhereInput + none?: Prisma.servicesWhereInput +} + +export type servicesOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type servicesCountOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + address?: Prisma.SortOrder + additional_address?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + day?: Prisma.SortOrder + description?: Prisma.SortOrder + rate?: Prisma.SortOrder + range1_hour1?: Prisma.SortOrder + range1_hour2?: Prisma.SortOrder + status?: Prisma.SortOrder + location_preference?: Prisma.SortOrder + professional_scored?: Prisma.SortOrder + user_scored?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type servicesAvgOrderByAggregateInput = { + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + rate?: Prisma.SortOrder +} + +export type servicesMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + address?: Prisma.SortOrder + additional_address?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + day?: Prisma.SortOrder + description?: Prisma.SortOrder + rate?: Prisma.SortOrder + range1_hour1?: Prisma.SortOrder + range1_hour2?: Prisma.SortOrder + status?: Prisma.SortOrder + location_preference?: Prisma.SortOrder + professional_scored?: Prisma.SortOrder + user_scored?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type servicesMinOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + user_id?: Prisma.SortOrder + address?: Prisma.SortOrder + additional_address?: Prisma.SortOrder + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + day?: Prisma.SortOrder + description?: Prisma.SortOrder + rate?: Prisma.SortOrder + range1_hour1?: Prisma.SortOrder + range1_hour2?: Prisma.SortOrder + status?: Prisma.SortOrder + location_preference?: Prisma.SortOrder + professional_scored?: Prisma.SortOrder + user_scored?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type servicesSumOrderByAggregateInput = { + latitude?: Prisma.SortOrder + longitude?: Prisma.SortOrder + rate?: Prisma.SortOrder +} + +export type servicesCreateNestedOneWithoutCommentsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutCommentsInput + connect?: Prisma.servicesWhereUniqueInput +} + +export type servicesUpdateOneWithoutCommentsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutCommentsInput + upsert?: Prisma.servicesUpsertWithoutCommentsInput + disconnect?: Prisma.servicesWhereInput | boolean + delete?: Prisma.servicesWhereInput | boolean + connect?: Prisma.servicesWhereUniqueInput + update?: Prisma.XOR, Prisma.servicesUncheckedUpdateWithoutCommentsInput> +} + +export type servicesCreateNestedManyWithoutProfessionalsInput = { + create?: Prisma.XOR | Prisma.servicesCreateWithoutProfessionalsInput[] | Prisma.servicesUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutProfessionalsInput | Prisma.servicesCreateOrConnectWithoutProfessionalsInput[] + createMany?: Prisma.servicesCreateManyProfessionalsInputEnvelope + connect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] +} + +export type servicesUncheckedCreateNestedManyWithoutProfessionalsInput = { + create?: Prisma.XOR | Prisma.servicesCreateWithoutProfessionalsInput[] | Prisma.servicesUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutProfessionalsInput | Prisma.servicesCreateOrConnectWithoutProfessionalsInput[] + createMany?: Prisma.servicesCreateManyProfessionalsInputEnvelope + connect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] +} + +export type servicesUpdateManyWithoutProfessionalsNestedInput = { + create?: Prisma.XOR | Prisma.servicesCreateWithoutProfessionalsInput[] | Prisma.servicesUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutProfessionalsInput | Prisma.servicesCreateOrConnectWithoutProfessionalsInput[] + upsert?: Prisma.servicesUpsertWithWhereUniqueWithoutProfessionalsInput | Prisma.servicesUpsertWithWhereUniqueWithoutProfessionalsInput[] + createMany?: Prisma.servicesCreateManyProfessionalsInputEnvelope + set?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + disconnect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + delete?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + connect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + update?: Prisma.servicesUpdateWithWhereUniqueWithoutProfessionalsInput | Prisma.servicesUpdateWithWhereUniqueWithoutProfessionalsInput[] + updateMany?: Prisma.servicesUpdateManyWithWhereWithoutProfessionalsInput | Prisma.servicesUpdateManyWithWhereWithoutProfessionalsInput[] + deleteMany?: Prisma.servicesScalarWhereInput | Prisma.servicesScalarWhereInput[] +} + +export type servicesUncheckedUpdateManyWithoutProfessionalsNestedInput = { + create?: Prisma.XOR | Prisma.servicesCreateWithoutProfessionalsInput[] | Prisma.servicesUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutProfessionalsInput | Prisma.servicesCreateOrConnectWithoutProfessionalsInput[] + upsert?: Prisma.servicesUpsertWithWhereUniqueWithoutProfessionalsInput | Prisma.servicesUpsertWithWhereUniqueWithoutProfessionalsInput[] + createMany?: Prisma.servicesCreateManyProfessionalsInputEnvelope + set?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + disconnect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + delete?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + connect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + update?: Prisma.servicesUpdateWithWhereUniqueWithoutProfessionalsInput | Prisma.servicesUpdateWithWhereUniqueWithoutProfessionalsInput[] + updateMany?: Prisma.servicesUpdateManyWithWhereWithoutProfessionalsInput | Prisma.servicesUpdateManyWithWhereWithoutProfessionalsInput[] + deleteMany?: Prisma.servicesScalarWhereInput | Prisma.servicesScalarWhereInput[] +} + +export type Enumservice_statusFieldUpdateOperationsInput = { + set?: $Enums.service_status +} + +export type NullableEnumservice_locationFieldUpdateOperationsInput = { + set?: $Enums.service_location | null +} + +export type servicesCreateNestedManyWithoutUsersInput = { + create?: Prisma.XOR | Prisma.servicesCreateWithoutUsersInput[] | Prisma.servicesUncheckedCreateWithoutUsersInput[] + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutUsersInput | Prisma.servicesCreateOrConnectWithoutUsersInput[] + createMany?: Prisma.servicesCreateManyUsersInputEnvelope + connect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] +} + +export type servicesUncheckedCreateNestedManyWithoutUsersInput = { + create?: Prisma.XOR | Prisma.servicesCreateWithoutUsersInput[] | Prisma.servicesUncheckedCreateWithoutUsersInput[] + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutUsersInput | Prisma.servicesCreateOrConnectWithoutUsersInput[] + createMany?: Prisma.servicesCreateManyUsersInputEnvelope + connect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] +} + +export type servicesUpdateManyWithoutUsersNestedInput = { + create?: Prisma.XOR | Prisma.servicesCreateWithoutUsersInput[] | Prisma.servicesUncheckedCreateWithoutUsersInput[] + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutUsersInput | Prisma.servicesCreateOrConnectWithoutUsersInput[] + upsert?: Prisma.servicesUpsertWithWhereUniqueWithoutUsersInput | Prisma.servicesUpsertWithWhereUniqueWithoutUsersInput[] + createMany?: Prisma.servicesCreateManyUsersInputEnvelope + set?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + disconnect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + delete?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + connect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + update?: Prisma.servicesUpdateWithWhereUniqueWithoutUsersInput | Prisma.servicesUpdateWithWhereUniqueWithoutUsersInput[] + updateMany?: Prisma.servicesUpdateManyWithWhereWithoutUsersInput | Prisma.servicesUpdateManyWithWhereWithoutUsersInput[] + deleteMany?: Prisma.servicesScalarWhereInput | Prisma.servicesScalarWhereInput[] +} + +export type servicesUncheckedUpdateManyWithoutUsersNestedInput = { + create?: Prisma.XOR | Prisma.servicesCreateWithoutUsersInput[] | Prisma.servicesUncheckedCreateWithoutUsersInput[] + connectOrCreate?: Prisma.servicesCreateOrConnectWithoutUsersInput | Prisma.servicesCreateOrConnectWithoutUsersInput[] + upsert?: Prisma.servicesUpsertWithWhereUniqueWithoutUsersInput | Prisma.servicesUpsertWithWhereUniqueWithoutUsersInput[] + createMany?: Prisma.servicesCreateManyUsersInputEnvelope + set?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + disconnect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + delete?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + connect?: Prisma.servicesWhereUniqueInput | Prisma.servicesWhereUniqueInput[] + update?: Prisma.servicesUpdateWithWhereUniqueWithoutUsersInput | Prisma.servicesUpdateWithWhereUniqueWithoutUsersInput[] + updateMany?: Prisma.servicesUpdateManyWithWhereWithoutUsersInput | Prisma.servicesUpdateManyWithWhereWithoutUsersInput[] + deleteMany?: Prisma.servicesScalarWhereInput | Prisma.servicesScalarWhereInput[] +} + +export type servicesCreateWithoutCommentsInput = { + id?: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string + professionals: Prisma.professionalsCreateNestedOneWithoutServicesInput + users: Prisma.usersCreateNestedOneWithoutServicesInput +} + +export type servicesUncheckedCreateWithoutCommentsInput = { + id?: string + professional_id: string + user_id: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string +} + +export type servicesCreateOrConnectWithoutCommentsInput = { + where: Prisma.servicesWhereUniqueInput + create: Prisma.XOR +} + +export type servicesUpsertWithoutCommentsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.servicesWhereInput +} + +export type servicesUpdateToOneWithWhereWithoutCommentsInput = { + where?: Prisma.servicesWhereInput + data: Prisma.XOR +} + +export type servicesUpdateWithoutCommentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + professionals?: Prisma.professionalsUpdateOneRequiredWithoutServicesNestedInput + users?: Prisma.usersUpdateOneRequiredWithoutServicesNestedInput +} + +export type servicesUncheckedUpdateWithoutCommentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type servicesCreateWithoutProfessionalsInput = { + id?: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string + comments?: Prisma.commentsCreateNestedManyWithoutServicesInput + users: Prisma.usersCreateNestedOneWithoutServicesInput +} + +export type servicesUncheckedCreateWithoutProfessionalsInput = { + id?: string + user_id: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string + comments?: Prisma.commentsUncheckedCreateNestedManyWithoutServicesInput +} + +export type servicesCreateOrConnectWithoutProfessionalsInput = { + where: Prisma.servicesWhereUniqueInput + create: Prisma.XOR +} + +export type servicesCreateManyProfessionalsInputEnvelope = { + data: Prisma.servicesCreateManyProfessionalsInput | Prisma.servicesCreateManyProfessionalsInput[] + skipDuplicates?: boolean +} + +export type servicesUpsertWithWhereUniqueWithoutProfessionalsInput = { + where: Prisma.servicesWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type servicesUpdateWithWhereUniqueWithoutProfessionalsInput = { + where: Prisma.servicesWhereUniqueInput + data: Prisma.XOR +} + +export type servicesUpdateManyWithWhereWithoutProfessionalsInput = { + where: Prisma.servicesScalarWhereInput + data: Prisma.XOR +} + +export type servicesScalarWhereInput = { + AND?: Prisma.servicesScalarWhereInput | Prisma.servicesScalarWhereInput[] + OR?: Prisma.servicesScalarWhereInput[] + NOT?: Prisma.servicesScalarWhereInput | Prisma.servicesScalarWhereInput[] + id?: Prisma.UuidFilter<"services"> | string + professional_id?: Prisma.UuidFilter<"services"> | string + user_id?: Prisma.UuidFilter<"services"> | string + address?: Prisma.StringNullableFilter<"services"> | string | null + additional_address?: Prisma.StringNullableFilter<"services"> | string | null + latitude?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFilter<"services"> | Date | string + description?: Prisma.StringNullableFilter<"services"> | string | null + rate?: Prisma.DecimalNullableFilter<"services"> | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.DateTimeNullableFilter<"services"> | Date | string | null + range1_hour2?: Prisma.DateTimeNullableFilter<"services"> | Date | string | null + status?: Prisma.Enumservice_statusFilter<"services"> | $Enums.service_status + location_preference?: Prisma.Enumservice_locationNullableFilter<"services"> | $Enums.service_location | null + professional_scored?: Prisma.BoolNullableFilter<"services"> | boolean | null + user_scored?: Prisma.BoolNullableFilter<"services"> | boolean | null + created_at?: Prisma.DateTimeFilter<"services"> | Date | string + updated_at?: Prisma.DateTimeFilter<"services"> | Date | string +} + +export type servicesCreateWithoutUsersInput = { + id?: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string + comments?: Prisma.commentsCreateNestedManyWithoutServicesInput + professionals: Prisma.professionalsCreateNestedOneWithoutServicesInput +} + +export type servicesUncheckedCreateWithoutUsersInput = { + id?: string + professional_id: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string + comments?: Prisma.commentsUncheckedCreateNestedManyWithoutServicesInput +} + +export type servicesCreateOrConnectWithoutUsersInput = { + where: Prisma.servicesWhereUniqueInput + create: Prisma.XOR +} + +export type servicesCreateManyUsersInputEnvelope = { + data: Prisma.servicesCreateManyUsersInput | Prisma.servicesCreateManyUsersInput[] + skipDuplicates?: boolean +} + +export type servicesUpsertWithWhereUniqueWithoutUsersInput = { + where: Prisma.servicesWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type servicesUpdateWithWhereUniqueWithoutUsersInput = { + where: Prisma.servicesWhereUniqueInput + data: Prisma.XOR +} + +export type servicesUpdateManyWithWhereWithoutUsersInput = { + where: Prisma.servicesScalarWhereInput + data: Prisma.XOR +} + +export type servicesCreateManyProfessionalsInput = { + id?: string + user_id: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string +} + +export type servicesUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + comments?: Prisma.commentsUpdateManyWithoutServicesNestedInput + users?: Prisma.usersUpdateOneRequiredWithoutServicesNestedInput +} + +export type servicesUncheckedUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + comments?: Prisma.commentsUncheckedUpdateManyWithoutServicesNestedInput +} + +export type servicesUncheckedUpdateManyWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + user_id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type servicesCreateManyUsersInput = { + id?: string + professional_id: string + address?: string | null + additional_address?: string | null + latitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + day: Date | string + description?: string | null + rate?: runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Date | string | null + range1_hour2?: Date | string | null + status?: $Enums.service_status + location_preference?: $Enums.service_location | null + professional_scored?: boolean | null + user_scored?: boolean | null + created_at?: Date | string + updated_at?: Date | string +} + +export type servicesUpdateWithoutUsersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + comments?: Prisma.commentsUpdateManyWithoutServicesNestedInput + professionals?: Prisma.professionalsUpdateOneRequiredWithoutServicesNestedInput +} + +export type servicesUncheckedUpdateWithoutUsersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + comments?: Prisma.commentsUncheckedUpdateManyWithoutServicesNestedInput +} + +export type servicesUncheckedUpdateManyWithoutUsersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + additional_address?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + latitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + longitude?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + day?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + rate?: Prisma.NullableDecimalFieldUpdateOperationsInput | runtime.Decimal | runtime.DecimalJsLike | number | string | null + range1_hour1?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + range1_hour2?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.Enumservice_statusFieldUpdateOperationsInput | $Enums.service_status + location_preference?: Prisma.NullableEnumservice_locationFieldUpdateOperationsInput | $Enums.service_location | null + professional_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + user_scored?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + +/** + * Count Type ServicesCountOutputType + */ + +export type ServicesCountOutputType = { + comments: number +} + +export type ServicesCountOutputTypeSelect = { + comments?: boolean | ServicesCountOutputTypeCountCommentsArgs +} + +/** + * ServicesCountOutputType without action + */ +export type ServicesCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the ServicesCountOutputType + */ + select?: Prisma.ServicesCountOutputTypeSelect | null +} + +/** + * ServicesCountOutputType without action + */ +export type ServicesCountOutputTypeCountCommentsArgs = { + where?: Prisma.commentsWhereInput +} + + +export type servicesSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + user_id?: boolean + address?: boolean + additional_address?: boolean + latitude?: boolean + longitude?: boolean + day?: boolean + description?: boolean + rate?: boolean + range1_hour1?: boolean + range1_hour2?: boolean + status?: boolean + location_preference?: boolean + professional_scored?: boolean + user_scored?: boolean + created_at?: boolean + updated_at?: boolean + comments?: boolean | Prisma.services$commentsArgs + professionals?: boolean | Prisma.professionalsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs + _count?: boolean | Prisma.ServicesCountOutputTypeDefaultArgs +}, ExtArgs["result"]["services"]> + +export type servicesSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + user_id?: boolean + address?: boolean + additional_address?: boolean + latitude?: boolean + longitude?: boolean + day?: boolean + description?: boolean + rate?: boolean + range1_hour1?: boolean + range1_hour2?: boolean + status?: boolean + location_preference?: boolean + professional_scored?: boolean + user_scored?: boolean + created_at?: boolean + updated_at?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["services"]> + +export type servicesSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + user_id?: boolean + address?: boolean + additional_address?: boolean + latitude?: boolean + longitude?: boolean + day?: boolean + description?: boolean + rate?: boolean + range1_hour1?: boolean + range1_hour2?: boolean + status?: boolean + location_preference?: boolean + professional_scored?: boolean + user_scored?: boolean + created_at?: boolean + updated_at?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +}, ExtArgs["result"]["services"]> + +export type servicesSelectScalar = { + id?: boolean + professional_id?: boolean + user_id?: boolean + address?: boolean + additional_address?: boolean + latitude?: boolean + longitude?: boolean + day?: boolean + description?: boolean + rate?: boolean + range1_hour1?: boolean + range1_hour2?: boolean + status?: boolean + location_preference?: boolean + professional_scored?: boolean + user_scored?: boolean + created_at?: boolean + updated_at?: boolean +} + +export type servicesOmit = runtime.Types.Extensions.GetOmit<"id" | "professional_id" | "user_id" | "address" | "additional_address" | "latitude" | "longitude" | "day" | "description" | "rate" | "range1_hour1" | "range1_hour2" | "status" | "location_preference" | "professional_scored" | "user_scored" | "created_at" | "updated_at", ExtArgs["result"]["services"]> +export type servicesInclude = { + comments?: boolean | Prisma.services$commentsArgs + professionals?: boolean | Prisma.professionalsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs + _count?: boolean | Prisma.ServicesCountOutputTypeDefaultArgs +} +export type servicesIncludeCreateManyAndReturn = { + professionals?: boolean | Prisma.professionalsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +} +export type servicesIncludeUpdateManyAndReturn = { + professionals?: boolean | Prisma.professionalsDefaultArgs + users?: boolean | Prisma.usersDefaultArgs +} + +export type $servicesPayload = { + name: "services" + objects: { + comments: Prisma.$commentsPayload[] + professionals: Prisma.$professionalsPayload + users: Prisma.$usersPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + professional_id: string + user_id: string + address: string | null + additional_address: string | null + latitude: runtime.Decimal | null + longitude: runtime.Decimal | null + day: Date + description: string | null + rate: runtime.Decimal | null + range1_hour1: Date | null + range1_hour2: Date | null + status: $Enums.service_status + location_preference: $Enums.service_location | null + professional_scored: boolean | null + user_scored: boolean | null + created_at: Date + updated_at: Date + }, ExtArgs["result"]["services"]> + composites: {} +} + +export type servicesGetPayload = runtime.Types.Result.GetResult + +export type servicesCountArgs = + Omit & { + select?: ServicesCountAggregateInputType | true + } + +export interface servicesDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['services'], meta: { name: 'services' } } + /** + * Find zero or one Services that matches the filter. + * @param {servicesFindUniqueArgs} args - Arguments to find a Services + * @example + * // Get one Services + * const services = await prisma.services.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__servicesClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Services that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {servicesFindUniqueOrThrowArgs} args - Arguments to find a Services + * @example + * // Get one Services + * const services = await prisma.services.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__servicesClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Services 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 {servicesFindFirstArgs} args - Arguments to find a Services + * @example + * // Get one Services + * const services = await prisma.services.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__servicesClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Services 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 {servicesFindFirstOrThrowArgs} args - Arguments to find a Services + * @example + * // Get one Services + * const services = await prisma.services.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__servicesClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Services 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 {servicesFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Services + * const services = await prisma.services.findMany() + * + * // Get first 10 Services + * const services = await prisma.services.findMany({ take: 10 }) + * + * // Only select the `id` + * const servicesWithIdOnly = await prisma.services.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Services. + * @param {servicesCreateArgs} args - Arguments to create a Services. + * @example + * // Create one Services + * const Services = await prisma.services.create({ + * data: { + * // ... data to create a Services + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__servicesClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Services. + * @param {servicesCreateManyArgs} args - Arguments to create many Services. + * @example + * // Create many Services + * const services = await prisma.services.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Services and returns the data saved in the database. + * @param {servicesCreateManyAndReturnArgs} args - Arguments to create many Services. + * @example + * // Create many Services + * const services = await prisma.services.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Services and only return the `id` + * const servicesWithIdOnly = await prisma.services.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 Services. + * @param {servicesDeleteArgs} args - Arguments to delete one Services. + * @example + * // Delete one Services + * const Services = await prisma.services.delete({ + * where: { + * // ... filter to delete one Services + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__servicesClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Services. + * @param {servicesUpdateArgs} args - Arguments to update one Services. + * @example + * // Update one Services + * const services = await prisma.services.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__servicesClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Services. + * @param {servicesDeleteManyArgs} args - Arguments to filter Services to delete. + * @example + * // Delete a few Services + * const { count } = await prisma.services.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Services. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {servicesUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Services + * const services = await prisma.services.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Services and returns the data updated in the database. + * @param {servicesUpdateManyAndReturnArgs} args - Arguments to update many Services. + * @example + * // Update many Services + * const services = await prisma.services.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Services and only return the `id` + * const servicesWithIdOnly = await prisma.services.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 Services. + * @param {servicesUpsertArgs} args - Arguments to update or create a Services. + * @example + * // Update or create a Services + * const services = await prisma.services.upsert({ + * create: { + * // ... data to create a Services + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Services we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__servicesClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Services. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {servicesCountArgs} args - Arguments to filter Services to count. + * @example + * // Count the number of Services + * const count = await prisma.services.count({ + * where: { + * // ... the filter for the Services 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 Services. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ServicesAggregateArgs} 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 Services. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {servicesGroupByArgs} 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 servicesGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: servicesGroupByArgs['orderBy'] } + : { orderBy?: servicesGroupByArgs['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 ? GetServicesGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the services model + */ +readonly fields: servicesFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for services. + * 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__servicesClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + comments = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + professionals = {}>(args?: Prisma.Subset>): Prisma.Prisma__professionalsClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + users = {}>(args?: Prisma.Subset>): Prisma.Prisma__usersClient, 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 services model + */ +export interface servicesFieldRefs { + readonly id: Prisma.FieldRef<"services", 'String'> + readonly professional_id: Prisma.FieldRef<"services", 'String'> + readonly user_id: Prisma.FieldRef<"services", 'String'> + readonly address: Prisma.FieldRef<"services", 'String'> + readonly additional_address: Prisma.FieldRef<"services", 'String'> + readonly latitude: Prisma.FieldRef<"services", 'Decimal'> + readonly longitude: Prisma.FieldRef<"services", 'Decimal'> + readonly day: Prisma.FieldRef<"services", 'DateTime'> + readonly description: Prisma.FieldRef<"services", 'String'> + readonly rate: Prisma.FieldRef<"services", 'Decimal'> + readonly range1_hour1: Prisma.FieldRef<"services", 'DateTime'> + readonly range1_hour2: Prisma.FieldRef<"services", 'DateTime'> + readonly status: Prisma.FieldRef<"services", 'service_status'> + readonly location_preference: Prisma.FieldRef<"services", 'service_location'> + readonly professional_scored: Prisma.FieldRef<"services", 'Boolean'> + readonly user_scored: Prisma.FieldRef<"services", 'Boolean'> + readonly created_at: Prisma.FieldRef<"services", 'DateTime'> + readonly updated_at: Prisma.FieldRef<"services", 'DateTime'> +} + + +// Custom InputTypes +/** + * services findUnique + */ +export type servicesFindUniqueArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * Filter, which services to fetch. + */ + where: Prisma.servicesWhereUniqueInput +} + +/** + * services findUniqueOrThrow + */ +export type servicesFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * Filter, which services to fetch. + */ + where: Prisma.servicesWhereUniqueInput +} + +/** + * services findFirst + */ +export type servicesFindFirstArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * Filter, which services to fetch. + */ + where?: Prisma.servicesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of services to fetch. + */ + orderBy?: Prisma.servicesOrderByWithRelationInput | Prisma.servicesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for services. + */ + cursor?: Prisma.servicesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` services 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` services. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of services. + */ + distinct?: Prisma.ServicesScalarFieldEnum | Prisma.ServicesScalarFieldEnum[] +} + +/** + * services findFirstOrThrow + */ +export type servicesFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * Filter, which services to fetch. + */ + where?: Prisma.servicesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of services to fetch. + */ + orderBy?: Prisma.servicesOrderByWithRelationInput | Prisma.servicesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for services. + */ + cursor?: Prisma.servicesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` services 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` services. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of services. + */ + distinct?: Prisma.ServicesScalarFieldEnum | Prisma.ServicesScalarFieldEnum[] +} + +/** + * services findMany + */ +export type servicesFindManyArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * Filter, which services to fetch. + */ + where?: Prisma.servicesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of services to fetch. + */ + orderBy?: Prisma.servicesOrderByWithRelationInput | Prisma.servicesOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing services. + */ + cursor?: Prisma.servicesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` services 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` services. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of services. + */ + distinct?: Prisma.ServicesScalarFieldEnum | Prisma.ServicesScalarFieldEnum[] +} + +/** + * services create + */ +export type servicesCreateArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * The data needed to create a services. + */ + data: Prisma.XOR +} + +/** + * services createMany + */ +export type servicesCreateManyArgs = { + /** + * The data used to create many services. + */ + data: Prisma.servicesCreateManyInput | Prisma.servicesCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * services createManyAndReturn + */ +export type servicesCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelectCreateManyAndReturn | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * The data used to create many services. + */ + data: Prisma.servicesCreateManyInput | Prisma.servicesCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesIncludeCreateManyAndReturn | null +} + +/** + * services update + */ +export type servicesUpdateArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * The data needed to update a services. + */ + data: Prisma.XOR + /** + * Choose, which services to update. + */ + where: Prisma.servicesWhereUniqueInput +} + +/** + * services updateMany + */ +export type servicesUpdateManyArgs = { + /** + * The data used to update services. + */ + data: Prisma.XOR + /** + * Filter which services to update + */ + where?: Prisma.servicesWhereInput + /** + * Limit how many services to update. + */ + limit?: number +} + +/** + * services updateManyAndReturn + */ +export type servicesUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * The data used to update services. + */ + data: Prisma.XOR + /** + * Filter which services to update + */ + where?: Prisma.servicesWhereInput + /** + * Limit how many services to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesIncludeUpdateManyAndReturn | null +} + +/** + * services upsert + */ +export type servicesUpsertArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * The filter to search for the services to update in case it exists. + */ + where: Prisma.servicesWhereUniqueInput + /** + * In case the services found by the `where` argument doesn't exist, create a new services with this data. + */ + create: Prisma.XOR + /** + * In case the services was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * services delete + */ +export type servicesDeleteArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + /** + * Filter which services to delete. + */ + where: Prisma.servicesWhereUniqueInput +} + +/** + * services deleteMany + */ +export type servicesDeleteManyArgs = { + /** + * Filter which services to delete + */ + where?: Prisma.servicesWhereInput + /** + * Limit how many services to delete. + */ + limit?: number +} + +/** + * services.comments + */ +export type services$commentsArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + where?: Prisma.commentsWhereInput + orderBy?: Prisma.commentsOrderByWithRelationInput | Prisma.commentsOrderByWithRelationInput[] + cursor?: Prisma.commentsWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.CommentsScalarFieldEnum | Prisma.CommentsScalarFieldEnum[] +} + +/** + * services without action + */ +export type servicesDefaultArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null +} diff --git a/backend/src/generated/prisma/models/settings.ts b/backend/src/generated/prisma/models/settings.ts new file mode 100644 index 0000000..d028dda --- /dev/null +++ b/backend/src/generated/prisma/models/settings.ts @@ -0,0 +1,1087 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `settings` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model settings + * + */ +export type settingsModel = runtime.Types.Result.DefaultSelection + +export type AggregateSettings = { + _count: SettingsCountAggregateOutputType | null + _min: SettingsMinAggregateOutputType | null + _max: SettingsMaxAggregateOutputType | null +} + +export type SettingsMinAggregateOutputType = { + key: string | null + updated_at: Date | null +} + +export type SettingsMaxAggregateOutputType = { + key: string | null + updated_at: Date | null +} + +export type SettingsCountAggregateOutputType = { + key: number + value: number + updated_at: number + _all: number +} + + +export type SettingsMinAggregateInputType = { + key?: true + updated_at?: true +} + +export type SettingsMaxAggregateInputType = { + key?: true + updated_at?: true +} + +export type SettingsCountAggregateInputType = { + key?: true + value?: true + updated_at?: true + _all?: true +} + +export type SettingsAggregateArgs = { + /** + * Filter which settings to aggregate. + */ + where?: Prisma.settingsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of settings to fetch. + */ + orderBy?: Prisma.settingsOrderByWithRelationInput | Prisma.settingsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.settingsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` settings 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` settings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned settings + **/ + _count?: true | SettingsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: SettingsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: SettingsMaxAggregateInputType +} + +export type GetSettingsAggregateType = { + [P in keyof T & keyof AggregateSettings]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type settingsGroupByArgs = { + where?: Prisma.settingsWhereInput + orderBy?: Prisma.settingsOrderByWithAggregationInput | Prisma.settingsOrderByWithAggregationInput[] + by: Prisma.SettingsScalarFieldEnum[] | Prisma.SettingsScalarFieldEnum + having?: Prisma.settingsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: SettingsCountAggregateInputType | true + _min?: SettingsMinAggregateInputType + _max?: SettingsMaxAggregateInputType +} + +export type SettingsGroupByOutputType = { + key: string + value: runtime.JsonValue + updated_at: Date + _count: SettingsCountAggregateOutputType | null + _min: SettingsMinAggregateOutputType | null + _max: SettingsMaxAggregateOutputType | null +} + +export type GetSettingsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof SettingsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type settingsWhereInput = { + AND?: Prisma.settingsWhereInput | Prisma.settingsWhereInput[] + OR?: Prisma.settingsWhereInput[] + NOT?: Prisma.settingsWhereInput | Prisma.settingsWhereInput[] + key?: Prisma.StringFilter<"settings"> | string + value?: Prisma.JsonFilter<"settings"> + updated_at?: Prisma.DateTimeFilter<"settings"> | Date | string +} + +export type settingsOrderByWithRelationInput = { + key?: Prisma.SortOrder + value?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type settingsWhereUniqueInput = Prisma.AtLeast<{ + key?: string + AND?: Prisma.settingsWhereInput | Prisma.settingsWhereInput[] + OR?: Prisma.settingsWhereInput[] + NOT?: Prisma.settingsWhereInput | Prisma.settingsWhereInput[] + value?: Prisma.JsonFilter<"settings"> + updated_at?: Prisma.DateTimeFilter<"settings"> | Date | string +}, "key"> + +export type settingsOrderByWithAggregationInput = { + key?: Prisma.SortOrder + value?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + _count?: Prisma.settingsCountOrderByAggregateInput + _max?: Prisma.settingsMaxOrderByAggregateInput + _min?: Prisma.settingsMinOrderByAggregateInput +} + +export type settingsScalarWhereWithAggregatesInput = { + AND?: Prisma.settingsScalarWhereWithAggregatesInput | Prisma.settingsScalarWhereWithAggregatesInput[] + OR?: Prisma.settingsScalarWhereWithAggregatesInput[] + NOT?: Prisma.settingsScalarWhereWithAggregatesInput | Prisma.settingsScalarWhereWithAggregatesInput[] + key?: Prisma.StringWithAggregatesFilter<"settings"> | string + value?: Prisma.JsonWithAggregatesFilter<"settings"> + updated_at?: Prisma.DateTimeWithAggregatesFilter<"settings"> | Date | string +} + +export type settingsCreateInput = { + key: string + value: Prisma.JsonNullValueInput | runtime.InputJsonValue + updated_at?: Date | string +} + +export type settingsUncheckedCreateInput = { + key: string + value: Prisma.JsonNullValueInput | runtime.InputJsonValue + updated_at?: Date | string +} + +export type settingsUpdateInput = { + key?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.JsonNullValueInput | runtime.InputJsonValue + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type settingsUncheckedUpdateInput = { + key?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.JsonNullValueInput | runtime.InputJsonValue + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type settingsCreateManyInput = { + key: string + value: Prisma.JsonNullValueInput | runtime.InputJsonValue + updated_at?: Date | string +} + +export type settingsUpdateManyMutationInput = { + key?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.JsonNullValueInput | runtime.InputJsonValue + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type settingsUncheckedUpdateManyInput = { + key?: Prisma.StringFieldUpdateOperationsInput | string + value?: Prisma.JsonNullValueInput | runtime.InputJsonValue + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type settingsCountOrderByAggregateInput = { + key?: Prisma.SortOrder + value?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type settingsMaxOrderByAggregateInput = { + key?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type settingsMinOrderByAggregateInput = { + key?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + + + +export type settingsSelect = runtime.Types.Extensions.GetSelect<{ + key?: boolean + value?: boolean + updated_at?: boolean +}, ExtArgs["result"]["settings"]> + +export type settingsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + key?: boolean + value?: boolean + updated_at?: boolean +}, ExtArgs["result"]["settings"]> + +export type settingsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + key?: boolean + value?: boolean + updated_at?: boolean +}, ExtArgs["result"]["settings"]> + +export type settingsSelectScalar = { + key?: boolean + value?: boolean + updated_at?: boolean +} + +export type settingsOmit = runtime.Types.Extensions.GetOmit<"key" | "value" | "updated_at", ExtArgs["result"]["settings"]> + +export type $settingsPayload = { + name: "settings" + objects: {} + scalars: runtime.Types.Extensions.GetPayloadResult<{ + key: string + value: runtime.JsonValue + updated_at: Date + }, ExtArgs["result"]["settings"]> + composites: {} +} + +export type settingsGetPayload = runtime.Types.Result.GetResult + +export type settingsCountArgs = + Omit & { + select?: SettingsCountAggregateInputType | true + } + +export interface settingsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['settings'], meta: { name: 'settings' } } + /** + * Find zero or one Settings that matches the filter. + * @param {settingsFindUniqueArgs} args - Arguments to find a Settings + * @example + * // Get one Settings + * const settings = await prisma.settings.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__settingsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Settings that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {settingsFindUniqueOrThrowArgs} args - Arguments to find a Settings + * @example + * // Get one Settings + * const settings = await prisma.settings.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__settingsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Settings 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 {settingsFindFirstArgs} args - Arguments to find a Settings + * @example + * // Get one Settings + * const settings = await prisma.settings.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__settingsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Settings 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 {settingsFindFirstOrThrowArgs} args - Arguments to find a Settings + * @example + * // Get one Settings + * const settings = await prisma.settings.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__settingsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Settings 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 {settingsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Settings + * const settings = await prisma.settings.findMany() + * + * // Get first 10 Settings + * const settings = await prisma.settings.findMany({ take: 10 }) + * + * // Only select the `key` + * const settingsWithKeyOnly = await prisma.settings.findMany({ select: { key: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Settings. + * @param {settingsCreateArgs} args - Arguments to create a Settings. + * @example + * // Create one Settings + * const Settings = await prisma.settings.create({ + * data: { + * // ... data to create a Settings + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__settingsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Settings. + * @param {settingsCreateManyArgs} args - Arguments to create many Settings. + * @example + * // Create many Settings + * const settings = await prisma.settings.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Settings and returns the data saved in the database. + * @param {settingsCreateManyAndReturnArgs} args - Arguments to create many Settings. + * @example + * // Create many Settings + * const settings = await prisma.settings.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Settings and only return the `key` + * const settingsWithKeyOnly = await prisma.settings.createManyAndReturn({ + * select: { key: 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 Settings. + * @param {settingsDeleteArgs} args - Arguments to delete one Settings. + * @example + * // Delete one Settings + * const Settings = await prisma.settings.delete({ + * where: { + * // ... filter to delete one Settings + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__settingsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Settings. + * @param {settingsUpdateArgs} args - Arguments to update one Settings. + * @example + * // Update one Settings + * const settings = await prisma.settings.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__settingsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Settings. + * @param {settingsDeleteManyArgs} args - Arguments to filter Settings to delete. + * @example + * // Delete a few Settings + * const { count } = await prisma.settings.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Settings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {settingsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Settings + * const settings = await prisma.settings.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Settings and returns the data updated in the database. + * @param {settingsUpdateManyAndReturnArgs} args - Arguments to update many Settings. + * @example + * // Update many Settings + * const settings = await prisma.settings.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Settings and only return the `key` + * const settingsWithKeyOnly = await prisma.settings.updateManyAndReturn({ + * select: { key: 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 Settings. + * @param {settingsUpsertArgs} args - Arguments to update or create a Settings. + * @example + * // Update or create a Settings + * const settings = await prisma.settings.upsert({ + * create: { + * // ... data to create a Settings + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Settings we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__settingsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Settings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {settingsCountArgs} args - Arguments to filter Settings to count. + * @example + * // Count the number of Settings + * const count = await prisma.settings.count({ + * where: { + * // ... the filter for the Settings 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 Settings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SettingsAggregateArgs} 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 Settings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {settingsGroupByArgs} 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 settingsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: settingsGroupByArgs['orderBy'] } + : { orderBy?: settingsGroupByArgs['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 ? GetSettingsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the settings model + */ +readonly fields: settingsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for settings. + * 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__settingsClient 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 settings model + */ +export interface settingsFieldRefs { + readonly key: Prisma.FieldRef<"settings", 'String'> + readonly value: Prisma.FieldRef<"settings", 'Json'> + readonly updated_at: Prisma.FieldRef<"settings", 'DateTime'> +} + + +// Custom InputTypes +/** + * settings findUnique + */ +export type settingsFindUniqueArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * Filter, which settings to fetch. + */ + where: Prisma.settingsWhereUniqueInput +} + +/** + * settings findUniqueOrThrow + */ +export type settingsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * Filter, which settings to fetch. + */ + where: Prisma.settingsWhereUniqueInput +} + +/** + * settings findFirst + */ +export type settingsFindFirstArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * Filter, which settings to fetch. + */ + where?: Prisma.settingsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of settings to fetch. + */ + orderBy?: Prisma.settingsOrderByWithRelationInput | Prisma.settingsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for settings. + */ + cursor?: Prisma.settingsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` settings 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` settings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of settings. + */ + distinct?: Prisma.SettingsScalarFieldEnum | Prisma.SettingsScalarFieldEnum[] +} + +/** + * settings findFirstOrThrow + */ +export type settingsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * Filter, which settings to fetch. + */ + where?: Prisma.settingsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of settings to fetch. + */ + orderBy?: Prisma.settingsOrderByWithRelationInput | Prisma.settingsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for settings. + */ + cursor?: Prisma.settingsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` settings 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` settings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of settings. + */ + distinct?: Prisma.SettingsScalarFieldEnum | Prisma.SettingsScalarFieldEnum[] +} + +/** + * settings findMany + */ +export type settingsFindManyArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * Filter, which settings to fetch. + */ + where?: Prisma.settingsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of settings to fetch. + */ + orderBy?: Prisma.settingsOrderByWithRelationInput | Prisma.settingsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing settings. + */ + cursor?: Prisma.settingsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` settings 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` settings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of settings. + */ + distinct?: Prisma.SettingsScalarFieldEnum | Prisma.SettingsScalarFieldEnum[] +} + +/** + * settings create + */ +export type settingsCreateArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * The data needed to create a settings. + */ + data: Prisma.XOR +} + +/** + * settings createMany + */ +export type settingsCreateManyArgs = { + /** + * The data used to create many settings. + */ + data: Prisma.settingsCreateManyInput | Prisma.settingsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * settings createManyAndReturn + */ +export type settingsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * The data used to create many settings. + */ + data: Prisma.settingsCreateManyInput | Prisma.settingsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * settings update + */ +export type settingsUpdateArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * The data needed to update a settings. + */ + data: Prisma.XOR + /** + * Choose, which settings to update. + */ + where: Prisma.settingsWhereUniqueInput +} + +/** + * settings updateMany + */ +export type settingsUpdateManyArgs = { + /** + * The data used to update settings. + */ + data: Prisma.XOR + /** + * Filter which settings to update + */ + where?: Prisma.settingsWhereInput + /** + * Limit how many settings to update. + */ + limit?: number +} + +/** + * settings updateManyAndReturn + */ +export type settingsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * The data used to update settings. + */ + data: Prisma.XOR + /** + * Filter which settings to update + */ + where?: Prisma.settingsWhereInput + /** + * Limit how many settings to update. + */ + limit?: number +} + +/** + * settings upsert + */ +export type settingsUpsertArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * The filter to search for the settings to update in case it exists. + */ + where: Prisma.settingsWhereUniqueInput + /** + * In case the settings found by the `where` argument doesn't exist, create a new settings with this data. + */ + create: Prisma.XOR + /** + * In case the settings was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * settings delete + */ +export type settingsDeleteArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null + /** + * Filter which settings to delete. + */ + where: Prisma.settingsWhereUniqueInput +} + +/** + * settings deleteMany + */ +export type settingsDeleteManyArgs = { + /** + * Filter which settings to delete + */ + where?: Prisma.settingsWhereInput + /** + * Limit how many settings to delete. + */ + limit?: number +} + +/** + * settings without action + */ +export type settingsDefaultArgs = { + /** + * Select specific fields to fetch from the settings + */ + select?: Prisma.settingsSelect | null + /** + * Omit specific fields from the settings + */ + omit?: Prisma.settingsOmit | null +} diff --git a/backend/src/generated/prisma/models/specializations.ts b/backend/src/generated/prisma/models/specializations.ts new file mode 100644 index 0000000..56fc150 --- /dev/null +++ b/backend/src/generated/prisma/models/specializations.ts @@ -0,0 +1,1310 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `specializations` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model specializations + * + */ +export type specializationsModel = runtime.Types.Result.DefaultSelection + +export type AggregateSpecializations = { + _count: SpecializationsCountAggregateOutputType | null + _min: SpecializationsMinAggregateOutputType | null + _max: SpecializationsMaxAggregateOutputType | null +} + +export type SpecializationsMinAggregateOutputType = { + id: string | null + professional_id: string | null + name: string | null + picture: string | null +} + +export type SpecializationsMaxAggregateOutputType = { + id: string | null + professional_id: string | null + name: string | null + picture: string | null +} + +export type SpecializationsCountAggregateOutputType = { + id: number + professional_id: number + name: number + picture: number + _all: number +} + + +export type SpecializationsMinAggregateInputType = { + id?: true + professional_id?: true + name?: true + picture?: true +} + +export type SpecializationsMaxAggregateInputType = { + id?: true + professional_id?: true + name?: true + picture?: true +} + +export type SpecializationsCountAggregateInputType = { + id?: true + professional_id?: true + name?: true + picture?: true + _all?: true +} + +export type SpecializationsAggregateArgs = { + /** + * Filter which specializations to aggregate. + */ + where?: Prisma.specializationsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of specializations to fetch. + */ + orderBy?: Prisma.specializationsOrderByWithRelationInput | Prisma.specializationsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.specializationsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` specializations 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` specializations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned specializations + **/ + _count?: true | SpecializationsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: SpecializationsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: SpecializationsMaxAggregateInputType +} + +export type GetSpecializationsAggregateType = { + [P in keyof T & keyof AggregateSpecializations]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type specializationsGroupByArgs = { + where?: Prisma.specializationsWhereInput + orderBy?: Prisma.specializationsOrderByWithAggregationInput | Prisma.specializationsOrderByWithAggregationInput[] + by: Prisma.SpecializationsScalarFieldEnum[] | Prisma.SpecializationsScalarFieldEnum + having?: Prisma.specializationsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: SpecializationsCountAggregateInputType | true + _min?: SpecializationsMinAggregateInputType + _max?: SpecializationsMaxAggregateInputType +} + +export type SpecializationsGroupByOutputType = { + id: string + professional_id: string + name: string + picture: string | null + _count: SpecializationsCountAggregateOutputType | null + _min: SpecializationsMinAggregateOutputType | null + _max: SpecializationsMaxAggregateOutputType | null +} + +export type GetSpecializationsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof SpecializationsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type specializationsWhereInput = { + AND?: Prisma.specializationsWhereInput | Prisma.specializationsWhereInput[] + OR?: Prisma.specializationsWhereInput[] + NOT?: Prisma.specializationsWhereInput | Prisma.specializationsWhereInput[] + id?: Prisma.UuidFilter<"specializations"> | string + professional_id?: Prisma.UuidFilter<"specializations"> | string + name?: Prisma.StringFilter<"specializations"> | string + picture?: Prisma.StringNullableFilter<"specializations"> | string | null + professionals?: Prisma.XOR +} + +export type specializationsOrderByWithRelationInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + name?: Prisma.SortOrder + picture?: Prisma.SortOrderInput | Prisma.SortOrder + professionals?: Prisma.professionalsOrderByWithRelationInput +} + +export type specializationsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.specializationsWhereInput | Prisma.specializationsWhereInput[] + OR?: Prisma.specializationsWhereInput[] + NOT?: Prisma.specializationsWhereInput | Prisma.specializationsWhereInput[] + professional_id?: Prisma.UuidFilter<"specializations"> | string + name?: Prisma.StringFilter<"specializations"> | string + picture?: Prisma.StringNullableFilter<"specializations"> | string | null + professionals?: Prisma.XOR +}, "id"> + +export type specializationsOrderByWithAggregationInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + name?: Prisma.SortOrder + picture?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.specializationsCountOrderByAggregateInput + _max?: Prisma.specializationsMaxOrderByAggregateInput + _min?: Prisma.specializationsMinOrderByAggregateInput +} + +export type specializationsScalarWhereWithAggregatesInput = { + AND?: Prisma.specializationsScalarWhereWithAggregatesInput | Prisma.specializationsScalarWhereWithAggregatesInput[] + OR?: Prisma.specializationsScalarWhereWithAggregatesInput[] + NOT?: Prisma.specializationsScalarWhereWithAggregatesInput | Prisma.specializationsScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"specializations"> | string + professional_id?: Prisma.UuidWithAggregatesFilter<"specializations"> | string + name?: Prisma.StringWithAggregatesFilter<"specializations"> | string + picture?: Prisma.StringNullableWithAggregatesFilter<"specializations"> | string | null +} + +export type specializationsCreateInput = { + id?: string + name: string + picture?: string | null + professionals: Prisma.professionalsCreateNestedOneWithoutSpecializationsInput +} + +export type specializationsUncheckedCreateInput = { + id?: string + professional_id: string + name: string + picture?: string | null +} + +export type specializationsUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + professionals?: Prisma.professionalsUpdateOneRequiredWithoutSpecializationsNestedInput +} + +export type specializationsUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type specializationsCreateManyInput = { + id?: string + professional_id: string + name: string + picture?: string | null +} + +export type specializationsUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type specializationsUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + professional_id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type SpecializationsListRelationFilter = { + every?: Prisma.specializationsWhereInput + some?: Prisma.specializationsWhereInput + none?: Prisma.specializationsWhereInput +} + +export type specializationsOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type specializationsCountOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + name?: Prisma.SortOrder + picture?: Prisma.SortOrder +} + +export type specializationsMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + name?: Prisma.SortOrder + picture?: Prisma.SortOrder +} + +export type specializationsMinOrderByAggregateInput = { + id?: Prisma.SortOrder + professional_id?: Prisma.SortOrder + name?: Prisma.SortOrder + picture?: Prisma.SortOrder +} + +export type specializationsCreateNestedManyWithoutProfessionalsInput = { + create?: Prisma.XOR | Prisma.specializationsCreateWithoutProfessionalsInput[] | Prisma.specializationsUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.specializationsCreateOrConnectWithoutProfessionalsInput | Prisma.specializationsCreateOrConnectWithoutProfessionalsInput[] + createMany?: Prisma.specializationsCreateManyProfessionalsInputEnvelope + connect?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] +} + +export type specializationsUncheckedCreateNestedManyWithoutProfessionalsInput = { + create?: Prisma.XOR | Prisma.specializationsCreateWithoutProfessionalsInput[] | Prisma.specializationsUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.specializationsCreateOrConnectWithoutProfessionalsInput | Prisma.specializationsCreateOrConnectWithoutProfessionalsInput[] + createMany?: Prisma.specializationsCreateManyProfessionalsInputEnvelope + connect?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] +} + +export type specializationsUpdateManyWithoutProfessionalsNestedInput = { + create?: Prisma.XOR | Prisma.specializationsCreateWithoutProfessionalsInput[] | Prisma.specializationsUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.specializationsCreateOrConnectWithoutProfessionalsInput | Prisma.specializationsCreateOrConnectWithoutProfessionalsInput[] + upsert?: Prisma.specializationsUpsertWithWhereUniqueWithoutProfessionalsInput | Prisma.specializationsUpsertWithWhereUniqueWithoutProfessionalsInput[] + createMany?: Prisma.specializationsCreateManyProfessionalsInputEnvelope + set?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] + disconnect?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] + delete?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] + connect?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] + update?: Prisma.specializationsUpdateWithWhereUniqueWithoutProfessionalsInput | Prisma.specializationsUpdateWithWhereUniqueWithoutProfessionalsInput[] + updateMany?: Prisma.specializationsUpdateManyWithWhereWithoutProfessionalsInput | Prisma.specializationsUpdateManyWithWhereWithoutProfessionalsInput[] + deleteMany?: Prisma.specializationsScalarWhereInput | Prisma.specializationsScalarWhereInput[] +} + +export type specializationsUncheckedUpdateManyWithoutProfessionalsNestedInput = { + create?: Prisma.XOR | Prisma.specializationsCreateWithoutProfessionalsInput[] | Prisma.specializationsUncheckedCreateWithoutProfessionalsInput[] + connectOrCreate?: Prisma.specializationsCreateOrConnectWithoutProfessionalsInput | Prisma.specializationsCreateOrConnectWithoutProfessionalsInput[] + upsert?: Prisma.specializationsUpsertWithWhereUniqueWithoutProfessionalsInput | Prisma.specializationsUpsertWithWhereUniqueWithoutProfessionalsInput[] + createMany?: Prisma.specializationsCreateManyProfessionalsInputEnvelope + set?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] + disconnect?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] + delete?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] + connect?: Prisma.specializationsWhereUniqueInput | Prisma.specializationsWhereUniqueInput[] + update?: Prisma.specializationsUpdateWithWhereUniqueWithoutProfessionalsInput | Prisma.specializationsUpdateWithWhereUniqueWithoutProfessionalsInput[] + updateMany?: Prisma.specializationsUpdateManyWithWhereWithoutProfessionalsInput | Prisma.specializationsUpdateManyWithWhereWithoutProfessionalsInput[] + deleteMany?: Prisma.specializationsScalarWhereInput | Prisma.specializationsScalarWhereInput[] +} + +export type specializationsCreateWithoutProfessionalsInput = { + id?: string + name: string + picture?: string | null +} + +export type specializationsUncheckedCreateWithoutProfessionalsInput = { + id?: string + name: string + picture?: string | null +} + +export type specializationsCreateOrConnectWithoutProfessionalsInput = { + where: Prisma.specializationsWhereUniqueInput + create: Prisma.XOR +} + +export type specializationsCreateManyProfessionalsInputEnvelope = { + data: Prisma.specializationsCreateManyProfessionalsInput | Prisma.specializationsCreateManyProfessionalsInput[] + skipDuplicates?: boolean +} + +export type specializationsUpsertWithWhereUniqueWithoutProfessionalsInput = { + where: Prisma.specializationsWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type specializationsUpdateWithWhereUniqueWithoutProfessionalsInput = { + where: Prisma.specializationsWhereUniqueInput + data: Prisma.XOR +} + +export type specializationsUpdateManyWithWhereWithoutProfessionalsInput = { + where: Prisma.specializationsScalarWhereInput + data: Prisma.XOR +} + +export type specializationsScalarWhereInput = { + AND?: Prisma.specializationsScalarWhereInput | Prisma.specializationsScalarWhereInput[] + OR?: Prisma.specializationsScalarWhereInput[] + NOT?: Prisma.specializationsScalarWhereInput | Prisma.specializationsScalarWhereInput[] + id?: Prisma.UuidFilter<"specializations"> | string + professional_id?: Prisma.UuidFilter<"specializations"> | string + name?: Prisma.StringFilter<"specializations"> | string + picture?: Prisma.StringNullableFilter<"specializations"> | string | null +} + +export type specializationsCreateManyProfessionalsInput = { + id?: string + name: string + picture?: string | null +} + +export type specializationsUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type specializationsUncheckedUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type specializationsUncheckedUpdateManyWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + + + +export type specializationsSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + name?: boolean + picture?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["specializations"]> + +export type specializationsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + name?: boolean + picture?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["specializations"]> + +export type specializationsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + professional_id?: boolean + name?: boolean + picture?: boolean + professionals?: boolean | Prisma.professionalsDefaultArgs +}, ExtArgs["result"]["specializations"]> + +export type specializationsSelectScalar = { + id?: boolean + professional_id?: boolean + name?: boolean + picture?: boolean +} + +export type specializationsOmit = runtime.Types.Extensions.GetOmit<"id" | "professional_id" | "name" | "picture", ExtArgs["result"]["specializations"]> +export type specializationsInclude = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} +export type specializationsIncludeCreateManyAndReturn = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} +export type specializationsIncludeUpdateManyAndReturn = { + professionals?: boolean | Prisma.professionalsDefaultArgs +} + +export type $specializationsPayload = { + name: "specializations" + objects: { + professionals: Prisma.$professionalsPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + professional_id: string + name: string + picture: string | null + }, ExtArgs["result"]["specializations"]> + composites: {} +} + +export type specializationsGetPayload = runtime.Types.Result.GetResult + +export type specializationsCountArgs = + Omit & { + select?: SpecializationsCountAggregateInputType | true + } + +export interface specializationsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['specializations'], meta: { name: 'specializations' } } + /** + * Find zero or one Specializations that matches the filter. + * @param {specializationsFindUniqueArgs} args - Arguments to find a Specializations + * @example + * // Get one Specializations + * const specializations = await prisma.specializations.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__specializationsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Specializations that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {specializationsFindUniqueOrThrowArgs} args - Arguments to find a Specializations + * @example + * // Get one Specializations + * const specializations = await prisma.specializations.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__specializationsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Specializations 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 {specializationsFindFirstArgs} args - Arguments to find a Specializations + * @example + * // Get one Specializations + * const specializations = await prisma.specializations.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__specializationsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Specializations 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 {specializationsFindFirstOrThrowArgs} args - Arguments to find a Specializations + * @example + * // Get one Specializations + * const specializations = await prisma.specializations.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__specializationsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Specializations 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 {specializationsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Specializations + * const specializations = await prisma.specializations.findMany() + * + * // Get first 10 Specializations + * const specializations = await prisma.specializations.findMany({ take: 10 }) + * + * // Only select the `id` + * const specializationsWithIdOnly = await prisma.specializations.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Specializations. + * @param {specializationsCreateArgs} args - Arguments to create a Specializations. + * @example + * // Create one Specializations + * const Specializations = await prisma.specializations.create({ + * data: { + * // ... data to create a Specializations + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__specializationsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Specializations. + * @param {specializationsCreateManyArgs} args - Arguments to create many Specializations. + * @example + * // Create many Specializations + * const specializations = await prisma.specializations.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Specializations and returns the data saved in the database. + * @param {specializationsCreateManyAndReturnArgs} args - Arguments to create many Specializations. + * @example + * // Create many Specializations + * const specializations = await prisma.specializations.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Specializations and only return the `id` + * const specializationsWithIdOnly = await prisma.specializations.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 Specializations. + * @param {specializationsDeleteArgs} args - Arguments to delete one Specializations. + * @example + * // Delete one Specializations + * const Specializations = await prisma.specializations.delete({ + * where: { + * // ... filter to delete one Specializations + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__specializationsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Specializations. + * @param {specializationsUpdateArgs} args - Arguments to update one Specializations. + * @example + * // Update one Specializations + * const specializations = await prisma.specializations.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__specializationsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Specializations. + * @param {specializationsDeleteManyArgs} args - Arguments to filter Specializations to delete. + * @example + * // Delete a few Specializations + * const { count } = await prisma.specializations.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Specializations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {specializationsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Specializations + * const specializations = await prisma.specializations.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Specializations and returns the data updated in the database. + * @param {specializationsUpdateManyAndReturnArgs} args - Arguments to update many Specializations. + * @example + * // Update many Specializations + * const specializations = await prisma.specializations.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Specializations and only return the `id` + * const specializationsWithIdOnly = await prisma.specializations.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 Specializations. + * @param {specializationsUpsertArgs} args - Arguments to update or create a Specializations. + * @example + * // Update or create a Specializations + * const specializations = await prisma.specializations.upsert({ + * create: { + * // ... data to create a Specializations + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Specializations we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__specializationsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Specializations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {specializationsCountArgs} args - Arguments to filter Specializations to count. + * @example + * // Count the number of Specializations + * const count = await prisma.specializations.count({ + * where: { + * // ... the filter for the Specializations 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 Specializations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SpecializationsAggregateArgs} 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 Specializations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {specializationsGroupByArgs} 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 specializationsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: specializationsGroupByArgs['orderBy'] } + : { orderBy?: specializationsGroupByArgs['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 ? GetSpecializationsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the specializations model + */ +readonly fields: specializationsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for specializations. + * 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__specializationsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + professionals = {}>(args?: Prisma.Subset>): Prisma.Prisma__professionalsClient, 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 specializations model + */ +export interface specializationsFieldRefs { + readonly id: Prisma.FieldRef<"specializations", 'String'> + readonly professional_id: Prisma.FieldRef<"specializations", 'String'> + readonly name: Prisma.FieldRef<"specializations", 'String'> + readonly picture: Prisma.FieldRef<"specializations", 'String'> +} + + +// Custom InputTypes +/** + * specializations findUnique + */ +export type specializationsFindUniqueArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * Filter, which specializations to fetch. + */ + where: Prisma.specializationsWhereUniqueInput +} + +/** + * specializations findUniqueOrThrow + */ +export type specializationsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * Filter, which specializations to fetch. + */ + where: Prisma.specializationsWhereUniqueInput +} + +/** + * specializations findFirst + */ +export type specializationsFindFirstArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * Filter, which specializations to fetch. + */ + where?: Prisma.specializationsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of specializations to fetch. + */ + orderBy?: Prisma.specializationsOrderByWithRelationInput | Prisma.specializationsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for specializations. + */ + cursor?: Prisma.specializationsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` specializations 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` specializations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of specializations. + */ + distinct?: Prisma.SpecializationsScalarFieldEnum | Prisma.SpecializationsScalarFieldEnum[] +} + +/** + * specializations findFirstOrThrow + */ +export type specializationsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * Filter, which specializations to fetch. + */ + where?: Prisma.specializationsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of specializations to fetch. + */ + orderBy?: Prisma.specializationsOrderByWithRelationInput | Prisma.specializationsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for specializations. + */ + cursor?: Prisma.specializationsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` specializations 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` specializations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of specializations. + */ + distinct?: Prisma.SpecializationsScalarFieldEnum | Prisma.SpecializationsScalarFieldEnum[] +} + +/** + * specializations findMany + */ +export type specializationsFindManyArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * Filter, which specializations to fetch. + */ + where?: Prisma.specializationsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of specializations to fetch. + */ + orderBy?: Prisma.specializationsOrderByWithRelationInput | Prisma.specializationsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing specializations. + */ + cursor?: Prisma.specializationsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` specializations 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` specializations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of specializations. + */ + distinct?: Prisma.SpecializationsScalarFieldEnum | Prisma.SpecializationsScalarFieldEnum[] +} + +/** + * specializations create + */ +export type specializationsCreateArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * The data needed to create a specializations. + */ + data: Prisma.XOR +} + +/** + * specializations createMany + */ +export type specializationsCreateManyArgs = { + /** + * The data used to create many specializations. + */ + data: Prisma.specializationsCreateManyInput | Prisma.specializationsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * specializations createManyAndReturn + */ +export type specializationsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * The data used to create many specializations. + */ + data: Prisma.specializationsCreateManyInput | Prisma.specializationsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsIncludeCreateManyAndReturn | null +} + +/** + * specializations update + */ +export type specializationsUpdateArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * The data needed to update a specializations. + */ + data: Prisma.XOR + /** + * Choose, which specializations to update. + */ + where: Prisma.specializationsWhereUniqueInput +} + +/** + * specializations updateMany + */ +export type specializationsUpdateManyArgs = { + /** + * The data used to update specializations. + */ + data: Prisma.XOR + /** + * Filter which specializations to update + */ + where?: Prisma.specializationsWhereInput + /** + * Limit how many specializations to update. + */ + limit?: number +} + +/** + * specializations updateManyAndReturn + */ +export type specializationsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * The data used to update specializations. + */ + data: Prisma.XOR + /** + * Filter which specializations to update + */ + where?: Prisma.specializationsWhereInput + /** + * Limit how many specializations to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsIncludeUpdateManyAndReturn | null +} + +/** + * specializations upsert + */ +export type specializationsUpsertArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * The filter to search for the specializations to update in case it exists. + */ + where: Prisma.specializationsWhereUniqueInput + /** + * In case the specializations found by the `where` argument doesn't exist, create a new specializations with this data. + */ + create: Prisma.XOR + /** + * In case the specializations was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * specializations delete + */ +export type specializationsDeleteArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null + /** + * Filter which specializations to delete. + */ + where: Prisma.specializationsWhereUniqueInput +} + +/** + * specializations deleteMany + */ +export type specializationsDeleteManyArgs = { + /** + * Filter which specializations to delete + */ + where?: Prisma.specializationsWhereInput + /** + * Limit how many specializations to delete. + */ + limit?: number +} + +/** + * specializations without action + */ +export type specializationsDefaultArgs = { + /** + * Select specific fields to fetch from the specializations + */ + select?: Prisma.specializationsSelect | null + /** + * Omit specific fields from the specializations + */ + omit?: Prisma.specializationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.specializationsInclude | null +} diff --git a/backend/src/generated/prisma/models/users.ts b/backend/src/generated/prisma/models/users.ts new file mode 100644 index 0000000..a41023a --- /dev/null +++ b/backend/src/generated/prisma/models/users.ts @@ -0,0 +1,2969 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `users` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model users + * + */ +export type usersModel = runtime.Types.Result.DefaultSelection + +export type AggregateUsers = { + _count: UsersCountAggregateOutputType | null + _avg: UsersAvgAggregateOutputType | null + _sum: UsersSumAggregateOutputType | null + _min: UsersMinAggregateOutputType | null + _max: UsersMaxAggregateOutputType | null +} + +export type UsersAvgAggregateOutputType = { + pro_state: number | null +} + +export type UsersSumAggregateOutputType = { + pro_state: number | null +} + +export type UsersMinAggregateOutputType = { + id: string | null + email: string | null + phone: string | null + password_hash: string | null + name: string | null + nickname: string | null + city: string | null + picture: string | null + birthday: Date | null + gender: string | null + pro_state: number | null + fcm_token: string | null + is_phone_verified: boolean | null + is_email_verified: boolean | null + created_at: Date | null + updated_at: Date | null +} + +export type UsersMaxAggregateOutputType = { + id: string | null + email: string | null + phone: string | null + password_hash: string | null + name: string | null + nickname: string | null + city: string | null + picture: string | null + birthday: Date | null + gender: string | null + pro_state: number | null + fcm_token: string | null + is_phone_verified: boolean | null + is_email_verified: boolean | null + created_at: Date | null + updated_at: Date | null +} + +export type UsersCountAggregateOutputType = { + id: number + email: number + phone: number + password_hash: number + name: number + nickname: number + city: number + picture: number + birthday: number + gender: number + pro_state: number + fcm_token: number + is_phone_verified: number + is_email_verified: number + created_at: number + updated_at: number + _all: number +} + + +export type UsersAvgAggregateInputType = { + pro_state?: true +} + +export type UsersSumAggregateInputType = { + pro_state?: true +} + +export type UsersMinAggregateInputType = { + id?: true + email?: true + phone?: true + password_hash?: true + name?: true + nickname?: true + city?: true + picture?: true + birthday?: true + gender?: true + pro_state?: true + fcm_token?: true + is_phone_verified?: true + is_email_verified?: true + created_at?: true + updated_at?: true +} + +export type UsersMaxAggregateInputType = { + id?: true + email?: true + phone?: true + password_hash?: true + name?: true + nickname?: true + city?: true + picture?: true + birthday?: true + gender?: true + pro_state?: true + fcm_token?: true + is_phone_verified?: true + is_email_verified?: true + created_at?: true + updated_at?: true +} + +export type UsersCountAggregateInputType = { + id?: true + email?: true + phone?: true + password_hash?: true + name?: true + nickname?: true + city?: true + picture?: true + birthday?: true + gender?: true + pro_state?: true + fcm_token?: true + is_phone_verified?: true + is_email_verified?: true + created_at?: true + updated_at?: true + _all?: true +} + +export type UsersAggregateArgs = { + /** + * Filter which users to aggregate. + */ + where?: Prisma.usersWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of users to fetch. + */ + orderBy?: Prisma.usersOrderByWithRelationInput | Prisma.usersOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.usersWhereUniqueInput + /** + * {@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 | UsersCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: UsersAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: UsersSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UsersMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UsersMaxAggregateInputType +} + +export type GetUsersAggregateType = { + [P in keyof T & keyof AggregateUsers]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type usersGroupByArgs = { + where?: Prisma.usersWhereInput + orderBy?: Prisma.usersOrderByWithAggregationInput | Prisma.usersOrderByWithAggregationInput[] + by: Prisma.UsersScalarFieldEnum[] | Prisma.UsersScalarFieldEnum + having?: Prisma.usersScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UsersCountAggregateInputType | true + _avg?: UsersAvgAggregateInputType + _sum?: UsersSumAggregateInputType + _min?: UsersMinAggregateInputType + _max?: UsersMaxAggregateInputType +} + +export type UsersGroupByOutputType = { + id: string + email: string | null + phone: string | null + password_hash: string | null + name: string + nickname: string | null + city: string | null + picture: string | null + birthday: Date | null + gender: string | null + pro_state: number + fcm_token: string | null + is_phone_verified: boolean | null + is_email_verified: boolean | null + created_at: Date + updated_at: Date + _count: UsersCountAggregateOutputType | null + _avg: UsersAvgAggregateOutputType | null + _sum: UsersSumAggregateOutputType | null + _min: UsersMinAggregateOutputType | null + _max: UsersMaxAggregateOutputType | null +} + +export type GetUsersGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof UsersGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type usersWhereInput = { + AND?: Prisma.usersWhereInput | Prisma.usersWhereInput[] + OR?: Prisma.usersWhereInput[] + NOT?: Prisma.usersWhereInput | Prisma.usersWhereInput[] + id?: Prisma.UuidFilter<"users"> | string + email?: Prisma.StringNullableFilter<"users"> | string | null + phone?: Prisma.StringNullableFilter<"users"> | string | null + password_hash?: Prisma.StringNullableFilter<"users"> | string | null + name?: Prisma.StringFilter<"users"> | string + nickname?: Prisma.StringNullableFilter<"users"> | string | null + city?: Prisma.StringNullableFilter<"users"> | string | null + picture?: Prisma.StringNullableFilter<"users"> | string | null + birthday?: Prisma.DateTimeNullableFilter<"users"> | Date | string | null + gender?: Prisma.StringNullableFilter<"users"> | string | null + pro_state?: Prisma.IntFilter<"users"> | number + fcm_token?: Prisma.StringNullableFilter<"users"> | string | null + is_phone_verified?: Prisma.BoolNullableFilter<"users"> | boolean | null + is_email_verified?: Prisma.BoolNullableFilter<"users"> | boolean | null + created_at?: Prisma.DateTimeFilter<"users"> | Date | string + updated_at?: Prisma.DateTimeFilter<"users"> | Date | string + chats_chats_professional_idTousers?: Prisma.ChatsListRelationFilter + chats_chats_user_idTousers?: Prisma.ChatsListRelationFilter + comments_comments_author_idTousers?: Prisma.CommentsListRelationFilter + comments_comments_destination_idTousers?: Prisma.CommentsListRelationFilter + messages?: Prisma.MessagesListRelationFilter + professionals?: Prisma.XOR | null + reputations?: Prisma.XOR | null + services?: Prisma.ServicesListRelationFilter +} + +export type usersOrderByWithRelationInput = { + id?: Prisma.SortOrder + email?: Prisma.SortOrderInput | Prisma.SortOrder + phone?: Prisma.SortOrderInput | Prisma.SortOrder + password_hash?: Prisma.SortOrderInput | Prisma.SortOrder + name?: Prisma.SortOrder + nickname?: Prisma.SortOrderInput | Prisma.SortOrder + city?: Prisma.SortOrderInput | Prisma.SortOrder + picture?: Prisma.SortOrderInput | Prisma.SortOrder + birthday?: Prisma.SortOrderInput | Prisma.SortOrder + gender?: Prisma.SortOrderInput | Prisma.SortOrder + pro_state?: Prisma.SortOrder + fcm_token?: Prisma.SortOrderInput | Prisma.SortOrder + is_phone_verified?: Prisma.SortOrderInput | Prisma.SortOrder + is_email_verified?: Prisma.SortOrderInput | Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + chats_chats_professional_idTousers?: Prisma.chatsOrderByRelationAggregateInput + chats_chats_user_idTousers?: Prisma.chatsOrderByRelationAggregateInput + comments_comments_author_idTousers?: Prisma.commentsOrderByRelationAggregateInput + comments_comments_destination_idTousers?: Prisma.commentsOrderByRelationAggregateInput + messages?: Prisma.messagesOrderByRelationAggregateInput + professionals?: Prisma.professionalsOrderByWithRelationInput + reputations?: Prisma.reputationsOrderByWithRelationInput + services?: Prisma.servicesOrderByRelationAggregateInput +} + +export type usersWhereUniqueInput = Prisma.AtLeast<{ + id?: string + email?: string + phone?: string + AND?: Prisma.usersWhereInput | Prisma.usersWhereInput[] + OR?: Prisma.usersWhereInput[] + NOT?: Prisma.usersWhereInput | Prisma.usersWhereInput[] + password_hash?: Prisma.StringNullableFilter<"users"> | string | null + name?: Prisma.StringFilter<"users"> | string + nickname?: Prisma.StringNullableFilter<"users"> | string | null + city?: Prisma.StringNullableFilter<"users"> | string | null + picture?: Prisma.StringNullableFilter<"users"> | string | null + birthday?: Prisma.DateTimeNullableFilter<"users"> | Date | string | null + gender?: Prisma.StringNullableFilter<"users"> | string | null + pro_state?: Prisma.IntFilter<"users"> | number + fcm_token?: Prisma.StringNullableFilter<"users"> | string | null + is_phone_verified?: Prisma.BoolNullableFilter<"users"> | boolean | null + is_email_verified?: Prisma.BoolNullableFilter<"users"> | boolean | null + created_at?: Prisma.DateTimeFilter<"users"> | Date | string + updated_at?: Prisma.DateTimeFilter<"users"> | Date | string + chats_chats_professional_idTousers?: Prisma.ChatsListRelationFilter + chats_chats_user_idTousers?: Prisma.ChatsListRelationFilter + comments_comments_author_idTousers?: Prisma.CommentsListRelationFilter + comments_comments_destination_idTousers?: Prisma.CommentsListRelationFilter + messages?: Prisma.MessagesListRelationFilter + professionals?: Prisma.XOR | null + reputations?: Prisma.XOR | null + services?: Prisma.ServicesListRelationFilter +}, "id" | "email" | "phone"> + +export type usersOrderByWithAggregationInput = { + id?: Prisma.SortOrder + email?: Prisma.SortOrderInput | Prisma.SortOrder + phone?: Prisma.SortOrderInput | Prisma.SortOrder + password_hash?: Prisma.SortOrderInput | Prisma.SortOrder + name?: Prisma.SortOrder + nickname?: Prisma.SortOrderInput | Prisma.SortOrder + city?: Prisma.SortOrderInput | Prisma.SortOrder + picture?: Prisma.SortOrderInput | Prisma.SortOrder + birthday?: Prisma.SortOrderInput | Prisma.SortOrder + gender?: Prisma.SortOrderInput | Prisma.SortOrder + pro_state?: Prisma.SortOrder + fcm_token?: Prisma.SortOrderInput | Prisma.SortOrder + is_phone_verified?: Prisma.SortOrderInput | Prisma.SortOrder + is_email_verified?: Prisma.SortOrderInput | Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder + _count?: Prisma.usersCountOrderByAggregateInput + _avg?: Prisma.usersAvgOrderByAggregateInput + _max?: Prisma.usersMaxOrderByAggregateInput + _min?: Prisma.usersMinOrderByAggregateInput + _sum?: Prisma.usersSumOrderByAggregateInput +} + +export type usersScalarWhereWithAggregatesInput = { + AND?: Prisma.usersScalarWhereWithAggregatesInput | Prisma.usersScalarWhereWithAggregatesInput[] + OR?: Prisma.usersScalarWhereWithAggregatesInput[] + NOT?: Prisma.usersScalarWhereWithAggregatesInput | Prisma.usersScalarWhereWithAggregatesInput[] + id?: Prisma.UuidWithAggregatesFilter<"users"> | string + email?: Prisma.StringNullableWithAggregatesFilter<"users"> | string | null + phone?: Prisma.StringNullableWithAggregatesFilter<"users"> | string | null + password_hash?: Prisma.StringNullableWithAggregatesFilter<"users"> | string | null + name?: Prisma.StringWithAggregatesFilter<"users"> | string + nickname?: Prisma.StringNullableWithAggregatesFilter<"users"> | string | null + city?: Prisma.StringNullableWithAggregatesFilter<"users"> | string | null + picture?: Prisma.StringNullableWithAggregatesFilter<"users"> | string | null + birthday?: Prisma.DateTimeNullableWithAggregatesFilter<"users"> | Date | string | null + gender?: Prisma.StringNullableWithAggregatesFilter<"users"> | string | null + pro_state?: Prisma.IntWithAggregatesFilter<"users"> | number + fcm_token?: Prisma.StringNullableWithAggregatesFilter<"users"> | string | null + is_phone_verified?: Prisma.BoolNullableWithAggregatesFilter<"users"> | boolean | null + is_email_verified?: Prisma.BoolNullableWithAggregatesFilter<"users"> | boolean | null + created_at?: Prisma.DateTimeWithAggregatesFilter<"users"> | Date | string + updated_at?: Prisma.DateTimeWithAggregatesFilter<"users"> | Date | string +} + +export type usersCreateInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsCreateNestedOneWithoutUsersInput + services?: Prisma.servicesCreateNestedManyWithoutUsersInput +} + +export type usersUncheckedCreateInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsUncheckedCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsUncheckedCreateNestedOneWithoutUsersInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutUsersInput +} + +export type usersUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUpdateManyWithoutUsersNestedInput +} + +export type usersUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUncheckedUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUncheckedUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUncheckedUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutUsersNestedInput +} + +export type usersCreateManyInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string +} + +export type usersUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type usersUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type UsersScalarRelationFilter = { + is?: Prisma.usersWhereInput + isNot?: Prisma.usersWhereInput +} + +export type usersCountOrderByAggregateInput = { + id?: Prisma.SortOrder + email?: Prisma.SortOrder + phone?: Prisma.SortOrder + password_hash?: Prisma.SortOrder + name?: Prisma.SortOrder + nickname?: Prisma.SortOrder + city?: Prisma.SortOrder + picture?: Prisma.SortOrder + birthday?: Prisma.SortOrder + gender?: Prisma.SortOrder + pro_state?: Prisma.SortOrder + fcm_token?: Prisma.SortOrder + is_phone_verified?: Prisma.SortOrder + is_email_verified?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type usersAvgOrderByAggregateInput = { + pro_state?: Prisma.SortOrder +} + +export type usersMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + email?: Prisma.SortOrder + phone?: Prisma.SortOrder + password_hash?: Prisma.SortOrder + name?: Prisma.SortOrder + nickname?: Prisma.SortOrder + city?: Prisma.SortOrder + picture?: Prisma.SortOrder + birthday?: Prisma.SortOrder + gender?: Prisma.SortOrder + pro_state?: Prisma.SortOrder + fcm_token?: Prisma.SortOrder + is_phone_verified?: Prisma.SortOrder + is_email_verified?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type usersMinOrderByAggregateInput = { + id?: Prisma.SortOrder + email?: Prisma.SortOrder + phone?: Prisma.SortOrder + password_hash?: Prisma.SortOrder + name?: Prisma.SortOrder + nickname?: Prisma.SortOrder + city?: Prisma.SortOrder + picture?: Prisma.SortOrder + birthday?: Prisma.SortOrder + gender?: Prisma.SortOrder + pro_state?: Prisma.SortOrder + fcm_token?: Prisma.SortOrder + is_phone_verified?: Prisma.SortOrder + is_email_verified?: Prisma.SortOrder + created_at?: Prisma.SortOrder + updated_at?: Prisma.SortOrder +} + +export type usersSumOrderByAggregateInput = { + pro_state?: Prisma.SortOrder +} + +export type usersCreateNestedOneWithoutChats_chats_professional_idTousersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutChats_chats_professional_idTousersInput + connect?: Prisma.usersWhereUniqueInput +} + +export type usersCreateNestedOneWithoutChats_chats_user_idTousersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutChats_chats_user_idTousersInput + connect?: Prisma.usersWhereUniqueInput +} + +export type usersUpdateOneRequiredWithoutChats_chats_professional_idTousersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutChats_chats_professional_idTousersInput + upsert?: Prisma.usersUpsertWithoutChats_chats_professional_idTousersInput + connect?: Prisma.usersWhereUniqueInput + update?: Prisma.XOR, Prisma.usersUncheckedUpdateWithoutChats_chats_professional_idTousersInput> +} + +export type usersUpdateOneRequiredWithoutChats_chats_user_idTousersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutChats_chats_user_idTousersInput + upsert?: Prisma.usersUpsertWithoutChats_chats_user_idTousersInput + connect?: Prisma.usersWhereUniqueInput + update?: Prisma.XOR, Prisma.usersUncheckedUpdateWithoutChats_chats_user_idTousersInput> +} + +export type usersCreateNestedOneWithoutComments_comments_author_idTousersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutComments_comments_author_idTousersInput + connect?: Prisma.usersWhereUniqueInput +} + +export type usersCreateNestedOneWithoutComments_comments_destination_idTousersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutComments_comments_destination_idTousersInput + connect?: Prisma.usersWhereUniqueInput +} + +export type usersUpdateOneRequiredWithoutComments_comments_author_idTousersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutComments_comments_author_idTousersInput + upsert?: Prisma.usersUpsertWithoutComments_comments_author_idTousersInput + connect?: Prisma.usersWhereUniqueInput + update?: Prisma.XOR, Prisma.usersUncheckedUpdateWithoutComments_comments_author_idTousersInput> +} + +export type usersUpdateOneRequiredWithoutComments_comments_destination_idTousersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutComments_comments_destination_idTousersInput + upsert?: Prisma.usersUpsertWithoutComments_comments_destination_idTousersInput + connect?: Prisma.usersWhereUniqueInput + update?: Prisma.XOR, Prisma.usersUncheckedUpdateWithoutComments_comments_destination_idTousersInput> +} + +export type usersCreateNestedOneWithoutMessagesInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutMessagesInput + connect?: Prisma.usersWhereUniqueInput +} + +export type usersUpdateOneRequiredWithoutMessagesNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutMessagesInput + upsert?: Prisma.usersUpsertWithoutMessagesInput + connect?: Prisma.usersWhereUniqueInput + update?: Prisma.XOR, Prisma.usersUncheckedUpdateWithoutMessagesInput> +} + +export type usersCreateNestedOneWithoutProfessionalsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutProfessionalsInput + connect?: Prisma.usersWhereUniqueInput +} + +export type usersUpdateOneRequiredWithoutProfessionalsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutProfessionalsInput + upsert?: Prisma.usersUpsertWithoutProfessionalsInput + connect?: Prisma.usersWhereUniqueInput + update?: Prisma.XOR, Prisma.usersUncheckedUpdateWithoutProfessionalsInput> +} + +export type usersCreateNestedOneWithoutReputationsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutReputationsInput + connect?: Prisma.usersWhereUniqueInput +} + +export type usersUpdateOneRequiredWithoutReputationsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutReputationsInput + upsert?: Prisma.usersUpsertWithoutReputationsInput + connect?: Prisma.usersWhereUniqueInput + update?: Prisma.XOR, Prisma.usersUncheckedUpdateWithoutReputationsInput> +} + +export type usersCreateNestedOneWithoutServicesInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutServicesInput + connect?: Prisma.usersWhereUniqueInput +} + +export type usersUpdateOneRequiredWithoutServicesNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.usersCreateOrConnectWithoutServicesInput + upsert?: Prisma.usersUpsertWithoutServicesInput + connect?: Prisma.usersWhereUniqueInput + update?: Prisma.XOR, Prisma.usersUncheckedUpdateWithoutServicesInput> +} + +export type usersCreateWithoutChats_chats_professional_idTousersInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_user_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsCreateNestedOneWithoutUsersInput + services?: Prisma.servicesCreateNestedManyWithoutUsersInput +} + +export type usersUncheckedCreateWithoutChats_chats_professional_idTousersInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_user_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsUncheckedCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsUncheckedCreateNestedOneWithoutUsersInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutUsersInput +} + +export type usersCreateOrConnectWithoutChats_chats_professional_idTousersInput = { + where: Prisma.usersWhereUniqueInput + create: Prisma.XOR +} + +export type usersCreateWithoutChats_chats_user_idTousersInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsCreateNestedOneWithoutUsersInput + services?: Prisma.servicesCreateNestedManyWithoutUsersInput +} + +export type usersUncheckedCreateWithoutChats_chats_user_idTousersInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsUncheckedCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsUncheckedCreateNestedOneWithoutUsersInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutUsersInput +} + +export type usersCreateOrConnectWithoutChats_chats_user_idTousersInput = { + where: Prisma.usersWhereUniqueInput + create: Prisma.XOR +} + +export type usersUpsertWithoutChats_chats_professional_idTousersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.usersWhereInput +} + +export type usersUpdateToOneWithWhereWithoutChats_chats_professional_idTousersInput = { + where?: Prisma.usersWhereInput + data: Prisma.XOR +} + +export type usersUpdateWithoutChats_chats_professional_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_user_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUpdateManyWithoutUsersNestedInput +} + +export type usersUncheckedUpdateWithoutChats_chats_professional_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_user_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUncheckedUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUncheckedUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUncheckedUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutUsersNestedInput +} + +export type usersUpsertWithoutChats_chats_user_idTousersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.usersWhereInput +} + +export type usersUpdateToOneWithWhereWithoutChats_chats_user_idTousersInput = { + where?: Prisma.usersWhereInput + data: Prisma.XOR +} + +export type usersUpdateWithoutChats_chats_user_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUpdateManyWithoutUsersNestedInput +} + +export type usersUncheckedUpdateWithoutChats_chats_user_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUncheckedUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUncheckedUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUncheckedUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutUsersNestedInput +} + +export type usersCreateWithoutComments_comments_author_idTousersInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsCreateNestedOneWithoutUsersInput + services?: Prisma.servicesCreateNestedManyWithoutUsersInput +} + +export type usersUncheckedCreateWithoutComments_comments_author_idTousersInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsUncheckedCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsUncheckedCreateNestedOneWithoutUsersInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutUsersInput +} + +export type usersCreateOrConnectWithoutComments_comments_author_idTousersInput = { + where: Prisma.usersWhereUniqueInput + create: Prisma.XOR +} + +export type usersCreateWithoutComments_comments_destination_idTousersInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsCreateNestedOneWithoutUsersInput + services?: Prisma.servicesCreateNestedManyWithoutUsersInput +} + +export type usersUncheckedCreateWithoutComments_comments_destination_idTousersInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsUncheckedCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsUncheckedCreateNestedOneWithoutUsersInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutUsersInput +} + +export type usersCreateOrConnectWithoutComments_comments_destination_idTousersInput = { + where: Prisma.usersWhereUniqueInput + create: Prisma.XOR +} + +export type usersUpsertWithoutComments_comments_author_idTousersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.usersWhereInput +} + +export type usersUpdateToOneWithWhereWithoutComments_comments_author_idTousersInput = { + where?: Prisma.usersWhereInput + data: Prisma.XOR +} + +export type usersUpdateWithoutComments_comments_author_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUpdateManyWithoutUsersNestedInput +} + +export type usersUncheckedUpdateWithoutComments_comments_author_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUncheckedUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUncheckedUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUncheckedUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutUsersNestedInput +} + +export type usersUpsertWithoutComments_comments_destination_idTousersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.usersWhereInput +} + +export type usersUpdateToOneWithWhereWithoutComments_comments_destination_idTousersInput = { + where?: Prisma.usersWhereInput + data: Prisma.XOR +} + +export type usersUpdateWithoutComments_comments_destination_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUpdateManyWithoutUsersNestedInput +} + +export type usersUncheckedUpdateWithoutComments_comments_destination_idTousersInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput + messages?: Prisma.messagesUncheckedUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUncheckedUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUncheckedUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutUsersNestedInput +} + +export type usersCreateWithoutMessagesInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput + professionals?: Prisma.professionalsCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsCreateNestedOneWithoutUsersInput + services?: Prisma.servicesCreateNestedManyWithoutUsersInput +} + +export type usersUncheckedCreateWithoutMessagesInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput + professionals?: Prisma.professionalsUncheckedCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsUncheckedCreateNestedOneWithoutUsersInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutUsersInput +} + +export type usersCreateOrConnectWithoutMessagesInput = { + where: Prisma.usersWhereUniqueInput + create: Prisma.XOR +} + +export type usersUpsertWithoutMessagesInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.usersWhereInput +} + +export type usersUpdateToOneWithWhereWithoutMessagesInput = { + where?: Prisma.usersWhereInput + data: Prisma.XOR +} + +export type usersUpdateWithoutMessagesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + professionals?: Prisma.professionalsUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUpdateManyWithoutUsersNestedInput +} + +export type usersUncheckedUpdateWithoutMessagesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + professionals?: Prisma.professionalsUncheckedUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUncheckedUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutUsersNestedInput +} + +export type usersCreateWithoutProfessionalsInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutUsersInput + reputations?: Prisma.reputationsCreateNestedOneWithoutUsersInput + services?: Prisma.servicesCreateNestedManyWithoutUsersInput +} + +export type usersUncheckedCreateWithoutProfessionalsInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutUsersInput + reputations?: Prisma.reputationsUncheckedCreateNestedOneWithoutUsersInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutUsersInput +} + +export type usersCreateOrConnectWithoutProfessionalsInput = { + where: Prisma.usersWhereUniqueInput + create: Prisma.XOR +} + +export type usersUpsertWithoutProfessionalsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.usersWhereInput +} + +export type usersUpdateToOneWithWhereWithoutProfessionalsInput = { + where?: Prisma.usersWhereInput + data: Prisma.XOR +} + +export type usersUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutUsersNestedInput + reputations?: Prisma.reputationsUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUpdateManyWithoutUsersNestedInput +} + +export type usersUncheckedUpdateWithoutProfessionalsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUncheckedUpdateManyWithoutUsersNestedInput + reputations?: Prisma.reputationsUncheckedUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutUsersNestedInput +} + +export type usersCreateWithoutReputationsInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsCreateNestedOneWithoutUsersInput + services?: Prisma.servicesCreateNestedManyWithoutUsersInput +} + +export type usersUncheckedCreateWithoutReputationsInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsUncheckedCreateNestedOneWithoutUsersInput + services?: Prisma.servicesUncheckedCreateNestedManyWithoutUsersInput +} + +export type usersCreateOrConnectWithoutReputationsInput = { + where: Prisma.usersWhereUniqueInput + create: Prisma.XOR +} + +export type usersUpsertWithoutReputationsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.usersWhereInput +} + +export type usersUpdateToOneWithWhereWithoutReputationsInput = { + where?: Prisma.usersWhereInput + data: Prisma.XOR +} + +export type usersUpdateWithoutReputationsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUpdateManyWithoutUsersNestedInput +} + +export type usersUncheckedUpdateWithoutReputationsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUncheckedUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUncheckedUpdateOneWithoutUsersNestedInput + services?: Prisma.servicesUncheckedUpdateManyWithoutUsersNestedInput +} + +export type usersCreateWithoutServicesInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsCreateNestedOneWithoutUsersInput +} + +export type usersUncheckedCreateWithoutServicesInput = { + id?: string + email?: string | null + phone?: string | null + password_hash?: string | null + name: string + nickname?: string | null + city?: string | null + picture?: string | null + birthday?: Date | string | null + gender?: string | null + pro_state?: number + fcm_token?: string | null + is_phone_verified?: boolean | null + is_email_verified?: boolean | null + created_at?: Date | string + updated_at?: Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_professional_idTousersInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedCreateNestedManyWithoutUsers_chats_user_idTousersInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_author_idTousersInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedCreateNestedManyWithoutUsers_comments_destination_idTousersInput + messages?: Prisma.messagesUncheckedCreateNestedManyWithoutUsersInput + professionals?: Prisma.professionalsUncheckedCreateNestedOneWithoutUsersInput + reputations?: Prisma.reputationsUncheckedCreateNestedOneWithoutUsersInput +} + +export type usersCreateOrConnectWithoutServicesInput = { + where: Prisma.usersWhereUniqueInput + create: Prisma.XOR +} + +export type usersUpsertWithoutServicesInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.usersWhereInput +} + +export type usersUpdateToOneWithWhereWithoutServicesInput = { + where?: Prisma.usersWhereInput + data: Prisma.XOR +} + +export type usersUpdateWithoutServicesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUpdateOneWithoutUsersNestedInput +} + +export type usersUncheckedUpdateWithoutServicesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + phone?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + password_hash?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + name?: Prisma.StringFieldUpdateOperationsInput | string + nickname?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + city?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + picture?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + birthday?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + gender?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + pro_state?: Prisma.IntFieldUpdateOperationsInput | number + fcm_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + is_phone_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + is_email_verified?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + chats_chats_professional_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_professional_idTousersNestedInput + chats_chats_user_idTousers?: Prisma.chatsUncheckedUpdateManyWithoutUsers_chats_user_idTousersNestedInput + comments_comments_author_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_author_idTousersNestedInput + comments_comments_destination_idTousers?: Prisma.commentsUncheckedUpdateManyWithoutUsers_comments_destination_idTousersNestedInput + messages?: Prisma.messagesUncheckedUpdateManyWithoutUsersNestedInput + professionals?: Prisma.professionalsUncheckedUpdateOneWithoutUsersNestedInput + reputations?: Prisma.reputationsUncheckedUpdateOneWithoutUsersNestedInput +} + + +/** + * Count Type UsersCountOutputType + */ + +export type UsersCountOutputType = { + chats_chats_professional_idTousers: number + chats_chats_user_idTousers: number + comments_comments_author_idTousers: number + comments_comments_destination_idTousers: number + messages: number + services: number +} + +export type UsersCountOutputTypeSelect = { + chats_chats_professional_idTousers?: boolean | UsersCountOutputTypeCountChats_chats_professional_idTousersArgs + chats_chats_user_idTousers?: boolean | UsersCountOutputTypeCountChats_chats_user_idTousersArgs + comments_comments_author_idTousers?: boolean | UsersCountOutputTypeCountComments_comments_author_idTousersArgs + comments_comments_destination_idTousers?: boolean | UsersCountOutputTypeCountComments_comments_destination_idTousersArgs + messages?: boolean | UsersCountOutputTypeCountMessagesArgs + services?: boolean | UsersCountOutputTypeCountServicesArgs +} + +/** + * UsersCountOutputType without action + */ +export type UsersCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the UsersCountOutputType + */ + select?: Prisma.UsersCountOutputTypeSelect | null +} + +/** + * UsersCountOutputType without action + */ +export type UsersCountOutputTypeCountChats_chats_professional_idTousersArgs = { + where?: Prisma.chatsWhereInput +} + +/** + * UsersCountOutputType without action + */ +export type UsersCountOutputTypeCountChats_chats_user_idTousersArgs = { + where?: Prisma.chatsWhereInput +} + +/** + * UsersCountOutputType without action + */ +export type UsersCountOutputTypeCountComments_comments_author_idTousersArgs = { + where?: Prisma.commentsWhereInput +} + +/** + * UsersCountOutputType without action + */ +export type UsersCountOutputTypeCountComments_comments_destination_idTousersArgs = { + where?: Prisma.commentsWhereInput +} + +/** + * UsersCountOutputType without action + */ +export type UsersCountOutputTypeCountMessagesArgs = { + where?: Prisma.messagesWhereInput +} + +/** + * UsersCountOutputType without action + */ +export type UsersCountOutputTypeCountServicesArgs = { + where?: Prisma.servicesWhereInput +} + + +export type usersSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + email?: boolean + phone?: boolean + password_hash?: boolean + name?: boolean + nickname?: boolean + city?: boolean + picture?: boolean + birthday?: boolean + gender?: boolean + pro_state?: boolean + fcm_token?: boolean + is_phone_verified?: boolean + is_email_verified?: boolean + created_at?: boolean + updated_at?: boolean + chats_chats_professional_idTousers?: boolean | Prisma.users$chats_chats_professional_idTousersArgs + chats_chats_user_idTousers?: boolean | Prisma.users$chats_chats_user_idTousersArgs + comments_comments_author_idTousers?: boolean | Prisma.users$comments_comments_author_idTousersArgs + comments_comments_destination_idTousers?: boolean | Prisma.users$comments_comments_destination_idTousersArgs + messages?: boolean | Prisma.users$messagesArgs + professionals?: boolean | Prisma.users$professionalsArgs + reputations?: boolean | Prisma.users$reputationsArgs + services?: boolean | Prisma.users$servicesArgs + _count?: boolean | Prisma.UsersCountOutputTypeDefaultArgs +}, ExtArgs["result"]["users"]> + +export type usersSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + email?: boolean + phone?: boolean + password_hash?: boolean + name?: boolean + nickname?: boolean + city?: boolean + picture?: boolean + birthday?: boolean + gender?: boolean + pro_state?: boolean + fcm_token?: boolean + is_phone_verified?: boolean + is_email_verified?: boolean + created_at?: boolean + updated_at?: boolean +}, ExtArgs["result"]["users"]> + +export type usersSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + email?: boolean + phone?: boolean + password_hash?: boolean + name?: boolean + nickname?: boolean + city?: boolean + picture?: boolean + birthday?: boolean + gender?: boolean + pro_state?: boolean + fcm_token?: boolean + is_phone_verified?: boolean + is_email_verified?: boolean + created_at?: boolean + updated_at?: boolean +}, ExtArgs["result"]["users"]> + +export type usersSelectScalar = { + id?: boolean + email?: boolean + phone?: boolean + password_hash?: boolean + name?: boolean + nickname?: boolean + city?: boolean + picture?: boolean + birthday?: boolean + gender?: boolean + pro_state?: boolean + fcm_token?: boolean + is_phone_verified?: boolean + is_email_verified?: boolean + created_at?: boolean + updated_at?: boolean +} + +export type usersOmit = runtime.Types.Extensions.GetOmit<"id" | "email" | "phone" | "password_hash" | "name" | "nickname" | "city" | "picture" | "birthday" | "gender" | "pro_state" | "fcm_token" | "is_phone_verified" | "is_email_verified" | "created_at" | "updated_at", ExtArgs["result"]["users"]> +export type usersInclude = { + chats_chats_professional_idTousers?: boolean | Prisma.users$chats_chats_professional_idTousersArgs + chats_chats_user_idTousers?: boolean | Prisma.users$chats_chats_user_idTousersArgs + comments_comments_author_idTousers?: boolean | Prisma.users$comments_comments_author_idTousersArgs + comments_comments_destination_idTousers?: boolean | Prisma.users$comments_comments_destination_idTousersArgs + messages?: boolean | Prisma.users$messagesArgs + professionals?: boolean | Prisma.users$professionalsArgs + reputations?: boolean | Prisma.users$reputationsArgs + services?: boolean | Prisma.users$servicesArgs + _count?: boolean | Prisma.UsersCountOutputTypeDefaultArgs +} +export type usersIncludeCreateManyAndReturn = {} +export type usersIncludeUpdateManyAndReturn = {} + +export type $usersPayload = { + name: "users" + objects: { + chats_chats_professional_idTousers: Prisma.$chatsPayload[] + chats_chats_user_idTousers: Prisma.$chatsPayload[] + comments_comments_author_idTousers: Prisma.$commentsPayload[] + comments_comments_destination_idTousers: Prisma.$commentsPayload[] + messages: Prisma.$messagesPayload[] + professionals: Prisma.$professionalsPayload | null + reputations: Prisma.$reputationsPayload | null + services: Prisma.$servicesPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + email: string | null + phone: string | null + password_hash: string | null + name: string + nickname: string | null + city: string | null + picture: string | null + birthday: Date | null + gender: string | null + pro_state: number + fcm_token: string | null + is_phone_verified: boolean | null + is_email_verified: boolean | null + created_at: Date + updated_at: Date + }, ExtArgs["result"]["users"]> + composites: {} +} + +export type usersGetPayload = runtime.Types.Result.GetResult + +export type usersCountArgs = + Omit & { + select?: UsersCountAggregateInputType | true + } + +export interface usersDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['users'], meta: { name: 'users' } } + /** + * Find zero or one Users that matches the filter. + * @param {usersFindUniqueArgs} args - Arguments to find a Users + * @example + * // Get one Users + * const users = await prisma.users.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__usersClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Users that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {usersFindUniqueOrThrowArgs} args - Arguments to find a Users + * @example + * // Get one Users + * const users = await prisma.users.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__usersClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first 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 {usersFindFirstArgs} args - Arguments to find a Users + * @example + * // Get one Users + * const users = await prisma.users.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__usersClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Users 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 {usersFindFirstOrThrowArgs} args - Arguments to find a Users + * @example + * // Get one Users + * const users = await prisma.users.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__usersClient, 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 {usersFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Users + * const users = await prisma.users.findMany() + * + * // Get first 10 Users + * const users = await prisma.users.findMany({ take: 10 }) + * + * // Only select the `id` + * const usersWithIdOnly = await prisma.users.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Users. + * @param {usersCreateArgs} args - Arguments to create a Users. + * @example + * // Create one Users + * const Users = await prisma.users.create({ + * data: { + * // ... data to create a Users + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__usersClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Users. + * @param {usersCreateManyArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const users = await prisma.users.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Users and returns the data saved in the database. + * @param {usersCreateManyAndReturnArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const users = await prisma.users.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Users and only return the `id` + * const usersWithIdOnly = await prisma.users.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 Users. + * @param {usersDeleteArgs} args - Arguments to delete one Users. + * @example + * // Delete one Users + * const Users = await prisma.users.delete({ + * where: { + * // ... filter to delete one Users + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__usersClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Users. + * @param {usersUpdateArgs} args - Arguments to update one Users. + * @example + * // Update one Users + * const users = await prisma.users.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__usersClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Users. + * @param {usersDeleteManyArgs} args - Arguments to filter Users to delete. + * @example + * // Delete a few Users + * const { count } = await prisma.users.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 {usersUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Users + * const users = await prisma.users.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 {usersUpdateManyAndReturnArgs} args - Arguments to update many Users. + * @example + * // Update many Users + * const users = await prisma.users.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Users and only return the `id` + * const usersWithIdOnly = await prisma.users.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 Users. + * @param {usersUpsertArgs} args - Arguments to update or create a Users. + * @example + * // Update or create a Users + * const users = await prisma.users.upsert({ + * create: { + * // ... data to create a Users + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Users we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__usersClient, 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 {usersCountArgs} args - Arguments to filter Users to count. + * @example + * // Count the number of Users + * const count = await prisma.users.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 Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UsersAggregateArgs} 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 Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {usersGroupByArgs} 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 usersGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: usersGroupByArgs['orderBy'] } + : { orderBy?: usersGroupByArgs['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 ? GetUsersGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the users model + */ +readonly fields: usersFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for users. + * 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__usersClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + chats_chats_professional_idTousers = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + chats_chats_user_idTousers = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + comments_comments_author_idTousers = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + comments_comments_destination_idTousers = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + messages = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + professionals = {}>(args?: Prisma.Subset>): Prisma.Prisma__professionalsClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + reputations = {}>(args?: Prisma.Subset>): Prisma.Prisma__reputationsClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + services = {}>(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 users model + */ +export interface usersFieldRefs { + readonly id: Prisma.FieldRef<"users", 'String'> + readonly email: Prisma.FieldRef<"users", 'String'> + readonly phone: Prisma.FieldRef<"users", 'String'> + readonly password_hash: Prisma.FieldRef<"users", 'String'> + readonly name: Prisma.FieldRef<"users", 'String'> + readonly nickname: Prisma.FieldRef<"users", 'String'> + readonly city: Prisma.FieldRef<"users", 'String'> + readonly picture: Prisma.FieldRef<"users", 'String'> + readonly birthday: Prisma.FieldRef<"users", 'DateTime'> + readonly gender: Prisma.FieldRef<"users", 'String'> + readonly pro_state: Prisma.FieldRef<"users", 'Int'> + readonly fcm_token: Prisma.FieldRef<"users", 'String'> + readonly is_phone_verified: Prisma.FieldRef<"users", 'Boolean'> + readonly is_email_verified: Prisma.FieldRef<"users", 'Boolean'> + readonly created_at: Prisma.FieldRef<"users", 'DateTime'> + readonly updated_at: Prisma.FieldRef<"users", 'DateTime'> +} + + +// Custom InputTypes +/** + * users findUnique + */ +export type usersFindUniqueArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * Filter, which users to fetch. + */ + where: Prisma.usersWhereUniqueInput +} + +/** + * users findUniqueOrThrow + */ +export type usersFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * Filter, which users to fetch. + */ + where: Prisma.usersWhereUniqueInput +} + +/** + * users findFirst + */ +export type usersFindFirstArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * Filter, which users to fetch. + */ + where?: Prisma.usersWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of users to fetch. + */ + orderBy?: Prisma.usersOrderByWithRelationInput | Prisma.usersOrderByWithRelationInput[] + /** + * {@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.usersWhereUniqueInput + /** + * {@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.UsersScalarFieldEnum | Prisma.UsersScalarFieldEnum[] +} + +/** + * users findFirstOrThrow + */ +export type usersFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * Filter, which users to fetch. + */ + where?: Prisma.usersWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of users to fetch. + */ + orderBy?: Prisma.usersOrderByWithRelationInput | Prisma.usersOrderByWithRelationInput[] + /** + * {@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.usersWhereUniqueInput + /** + * {@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.UsersScalarFieldEnum | Prisma.UsersScalarFieldEnum[] +} + +/** + * users findMany + */ +export type usersFindManyArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * Filter, which users to fetch. + */ + where?: Prisma.usersWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of users to fetch. + */ + orderBy?: Prisma.usersOrderByWithRelationInput | Prisma.usersOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing users. + */ + cursor?: Prisma.usersWhereUniqueInput + /** + * {@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.UsersScalarFieldEnum | Prisma.UsersScalarFieldEnum[] +} + +/** + * users create + */ +export type usersCreateArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * The data needed to create a users. + */ + data: Prisma.XOR +} + +/** + * users createMany + */ +export type usersCreateManyArgs = { + /** + * The data used to create many users. + */ + data: Prisma.usersCreateManyInput | Prisma.usersCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * users createManyAndReturn + */ +export type usersCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelectCreateManyAndReturn | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * The data used to create many users. + */ + data: Prisma.usersCreateManyInput | Prisma.usersCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * users update + */ +export type usersUpdateArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * The data needed to update a users. + */ + data: Prisma.XOR + /** + * Choose, which users to update. + */ + where: Prisma.usersWhereUniqueInput +} + +/** + * users updateMany + */ +export type usersUpdateManyArgs = { + /** + * The data used to update users. + */ + data: Prisma.XOR + /** + * Filter which users to update + */ + where?: Prisma.usersWhereInput + /** + * Limit how many users to update. + */ + limit?: number +} + +/** + * users updateManyAndReturn + */ +export type usersUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * The data used to update users. + */ + data: Prisma.XOR + /** + * Filter which users to update + */ + where?: Prisma.usersWhereInput + /** + * Limit how many users to update. + */ + limit?: number +} + +/** + * users upsert + */ +export type usersUpsertArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * The filter to search for the users to update in case it exists. + */ + where: Prisma.usersWhereUniqueInput + /** + * In case the users found by the `where` argument doesn't exist, create a new users with this data. + */ + create: Prisma.XOR + /** + * In case the users was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * users delete + */ +export type usersDeleteArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null + /** + * Filter which users to delete. + */ + where: Prisma.usersWhereUniqueInput +} + +/** + * users deleteMany + */ +export type usersDeleteManyArgs = { + /** + * Filter which users to delete + */ + where?: Prisma.usersWhereInput + /** + * Limit how many users to delete. + */ + limit?: number +} + +/** + * users.chats_chats_professional_idTousers + */ +export type users$chats_chats_professional_idTousersArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + where?: Prisma.chatsWhereInput + orderBy?: Prisma.chatsOrderByWithRelationInput | Prisma.chatsOrderByWithRelationInput[] + cursor?: Prisma.chatsWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ChatsScalarFieldEnum | Prisma.ChatsScalarFieldEnum[] +} + +/** + * users.chats_chats_user_idTousers + */ +export type users$chats_chats_user_idTousersArgs = { + /** + * Select specific fields to fetch from the chats + */ + select?: Prisma.chatsSelect | null + /** + * Omit specific fields from the chats + */ + omit?: Prisma.chatsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.chatsInclude | null + where?: Prisma.chatsWhereInput + orderBy?: Prisma.chatsOrderByWithRelationInput | Prisma.chatsOrderByWithRelationInput[] + cursor?: Prisma.chatsWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ChatsScalarFieldEnum | Prisma.ChatsScalarFieldEnum[] +} + +/** + * users.comments_comments_author_idTousers + */ +export type users$comments_comments_author_idTousersArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + where?: Prisma.commentsWhereInput + orderBy?: Prisma.commentsOrderByWithRelationInput | Prisma.commentsOrderByWithRelationInput[] + cursor?: Prisma.commentsWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.CommentsScalarFieldEnum | Prisma.CommentsScalarFieldEnum[] +} + +/** + * users.comments_comments_destination_idTousers + */ +export type users$comments_comments_destination_idTousersArgs = { + /** + * Select specific fields to fetch from the comments + */ + select?: Prisma.commentsSelect | null + /** + * Omit specific fields from the comments + */ + omit?: Prisma.commentsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.commentsInclude | null + where?: Prisma.commentsWhereInput + orderBy?: Prisma.commentsOrderByWithRelationInput | Prisma.commentsOrderByWithRelationInput[] + cursor?: Prisma.commentsWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.CommentsScalarFieldEnum | Prisma.CommentsScalarFieldEnum[] +} + +/** + * users.messages + */ +export type users$messagesArgs = { + /** + * Select specific fields to fetch from the messages + */ + select?: Prisma.messagesSelect | null + /** + * Omit specific fields from the messages + */ + omit?: Prisma.messagesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.messagesInclude | null + where?: Prisma.messagesWhereInput + orderBy?: Prisma.messagesOrderByWithRelationInput | Prisma.messagesOrderByWithRelationInput[] + cursor?: Prisma.messagesWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.MessagesScalarFieldEnum | Prisma.MessagesScalarFieldEnum[] +} + +/** + * users.professionals + */ +export type users$professionalsArgs = { + /** + * Select specific fields to fetch from the professionals + */ + select?: Prisma.professionalsSelect | null + /** + * Omit specific fields from the professionals + */ + omit?: Prisma.professionalsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.professionalsInclude | null + where?: Prisma.professionalsWhereInput +} + +/** + * users.reputations + */ +export type users$reputationsArgs = { + /** + * Select specific fields to fetch from the reputations + */ + select?: Prisma.reputationsSelect | null + /** + * Omit specific fields from the reputations + */ + omit?: Prisma.reputationsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.reputationsInclude | null + where?: Prisma.reputationsWhereInput +} + +/** + * users.services + */ +export type users$servicesArgs = { + /** + * Select specific fields to fetch from the services + */ + select?: Prisma.servicesSelect | null + /** + * Omit specific fields from the services + */ + omit?: Prisma.servicesOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.servicesInclude | null + where?: Prisma.servicesWhereInput + orderBy?: Prisma.servicesOrderByWithRelationInput | Prisma.servicesOrderByWithRelationInput[] + cursor?: Prisma.servicesWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ServicesScalarFieldEnum | Prisma.ServicesScalarFieldEnum[] +} + +/** + * users without action + */ +export type usersDefaultArgs = { + /** + * Select specific fields to fetch from the users + */ + select?: Prisma.usersSelect | null + /** + * Omit specific fields from the users + */ + omit?: Prisma.usersOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.usersInclude | null +} diff --git a/backend/src/locations/locations.controller.ts b/backend/src/locations/locations.controller.ts new file mode 100644 index 0000000..a6cc103 --- /dev/null +++ b/backend/src/locations/locations.controller.ts @@ -0,0 +1,24 @@ +import { Controller, Get, Param } from '@nestjs/common'; +import { ApiTags } from '@nestjs/swagger'; +import { LocationsService } from './locations.service'; + +@ApiTags('Locations') +@Controller('locations') +export class LocationsController { + constructor(private locations: LocationsService) {} + + @Get('countries') + getCountries() { + return this.locations.getCountries(); + } + + @Get('countries/:countryId/regions') + getRegions(@Param('countryId') id: string) { + return this.locations.getRegions(id); + } + + @Get('regions/:regionId/cities') + getCities(@Param('regionId') id: string) { + return this.locations.getCities(id); + } +} diff --git a/backend/src/locations/locations.module.ts b/backend/src/locations/locations.module.ts new file mode 100644 index 0000000..4010fd2 --- /dev/null +++ b/backend/src/locations/locations.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { LocationsService } from './locations.service'; +import { LocationsController } from './locations.controller'; + +@Module({ + providers: [LocationsService], + controllers: [LocationsController], +}) +export class LocationsModule {} diff --git a/backend/src/locations/locations.service.ts b/backend/src/locations/locations.service.ts new file mode 100644 index 0000000..5968289 --- /dev/null +++ b/backend/src/locations/locations.service.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@nestjs/common'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class LocationsService { + constructor(private prisma: PrismaService) {} + + getCountries() { + return this.prisma.countries.findMany({ include: { regions: { include: { cities: true } } } }); + } + + getRegions(countryId: string) { + return this.prisma.regions.findMany({ where: { country_id: countryId }, include: { cities: true } }); + } + + getCities(regionId: string) { + return this.prisma.cities.findMany({ where: { region_id: regionId } }); + } +} diff --git a/backend/src/main.ts b/backend/src/main.ts new file mode 100644 index 0000000..4fc2c60 --- /dev/null +++ b/backend/src/main.ts @@ -0,0 +1,33 @@ +import { NestFactory } from '@nestjs/core'; +import { ValidationPipe, Logger } from '@nestjs/common'; +import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; +import { AppModule } from './app.module'; + +async function bootstrap() { + const app = await NestFactory.create(AppModule); + const logger = new Logger('Bootstrap'); + + app.enableCors({ + origin: ['http://localhost:3000', 'http://localhost:5173', 'https://app.prosapp.co'], + methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'], + credentials: true, + }); + + app.setGlobalPrefix('api/v1'); + app.useGlobalPipes(new ValidationPipe({ whitelist: true, transform: true })); + + const config = new DocumentBuilder() + .setTitle('ProsApp API') + .setDescription('API de ProsApp - Migración Firebase a PostgreSQL') + .setVersion('1.0') + .addBearerAuth() + .build(); + const document = SwaggerModule.createDocument(app, config); + SwaggerModule.setup('docs', app, document); + + const port = process.env.PORT || 3000; + await app.listen(port); + logger.log(`API corriendo en http://localhost:${port}`); + logger.log(`Swagger en http://localhost:${port}/docs`); +} +bootstrap(); diff --git a/backend/src/prisma/prisma.module.ts b/backend/src/prisma/prisma.module.ts new file mode 100644 index 0000000..7207426 --- /dev/null +++ b/backend/src/prisma/prisma.module.ts @@ -0,0 +1,9 @@ +import { Global, Module } from '@nestjs/common'; +import { PrismaService } from './prisma.service'; + +@Global() +@Module({ + providers: [PrismaService], + exports: [PrismaService], +}) +export class PrismaModule {} diff --git a/backend/src/prisma/prisma.service.ts b/backend/src/prisma/prisma.service.ts new file mode 100644 index 0000000..bb6565f --- /dev/null +++ b/backend/src/prisma/prisma.service.ts @@ -0,0 +1,13 @@ +import { Injectable, OnModuleInit, OnModuleDestroy } from '@nestjs/common'; +import { PrismaClient } from '@prisma/client'; + +@Injectable() +export class PrismaService extends PrismaClient implements OnModuleInit, OnModuleDestroy { + async onModuleInit() { + await this.$connect(); + } + + async onModuleDestroy() { + await this.$disconnect(); + } +} diff --git a/backend/src/professionals/professionals.controller.ts b/backend/src/professionals/professionals.controller.ts new file mode 100644 index 0000000..fbe7b03 --- /dev/null +++ b/backend/src/professionals/professionals.controller.ts @@ -0,0 +1,48 @@ +import { Controller, Get, Post, Patch, Param, Body, UseGuards, Req, Query } from '@nestjs/common'; +import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { ProfessionalsService } from './professionals.service'; +import { JwtAuthGuard } from '../auth/jwt-auth.guard'; + +@ApiTags('Professionals') +@Controller('professionals') +export class ProfessionalsController { + constructor(private pros: ProfessionalsService) {} + + @Get() + findAllActive() { + return this.pros.findAllActive(); + } + + @Get('me') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + findByMe(@Req() req) { + return this.pros.findByUserId(req.user.sub); + } + + @Get(':id') + findById(@Param('id') id: string) { + return this.pros.findById(id); + } + + @Post('request') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + request(@Req() req, @Body() data: any) { + return this.pros.requestProfessional(req.user.sub, data); + } + + @Patch('me') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + update(@Req() req, @Body() data: any) { + return this.pros.upsert(req.user.sub, data); + } + + @Patch('me/schedules') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + updateSchedules(@Req() req, @Body() data: { schedules: any[] }) { + return this.pros.updateSchedules(req.user.sub, data.schedules); + } +} diff --git a/backend/src/professionals/professionals.module.ts b/backend/src/professionals/professionals.module.ts new file mode 100644 index 0000000..999e3c2 --- /dev/null +++ b/backend/src/professionals/professionals.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { ProfessionalsService } from './professionals.service'; +import { ProfessionalsController } from './professionals.controller'; + +@Module({ + providers: [ProfessionalsService], + controllers: [ProfessionalsController], + exports: [ProfessionalsService], +}) +export class ProfessionalsModule {} diff --git a/backend/src/professionals/professionals.service.ts b/backend/src/professionals/professionals.service.ts new file mode 100644 index 0000000..14879a6 --- /dev/null +++ b/backend/src/professionals/professionals.service.ts @@ -0,0 +1,80 @@ +import { Injectable, NotFoundException } from '@nestjs/common'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class ProfessionalsService { + constructor(private prisma: PrismaService) {} + + findAllActive() { + return this.prisma.professionals.findMany({ + where: { is_active: true }, + include: { + users: { select: { id: true, name: true, picture: true, city: true } }, + schedules: true, + specializations: true, + payment_methods: true, + }, + }); + } + + findById(id: string) { + return this.prisma.professionals.findUnique({ + where: { id }, + include: { + users: { select: { id: true, name: true, picture: true, city: true } }, + schedules: { orderBy: { day_of_week: 'asc' } }, + specializations: true, + payment_methods: true, + }, + }); + } + + findByUserId(userId: string) { + return this.prisma.professionals.findUnique({ + where: { user_id: userId }, + include: { schedules: true, specializations: true, payment_methods: true }, + }); + } + + async upsert(userId: string, data: any) { + const existing = await this.prisma.professionals.findUnique({ where: { user_id: userId } }); + + if (existing) { + return this.prisma.professionals.update({ where: { user_id: userId }, data }); + } + return this.prisma.professionals.create({ data: { ...data, user_id: userId } }); + } + + async updateSchedules(professionalId: string, schedules: any[]) { + await this.prisma.schedules.deleteMany({ where: { professional_id: professionalId } }); + return this.prisma.schedules.createMany({ + data: schedules.map((s: any) => ({ + professional_id: professionalId, + day_of_week: s.day_of_week, + enabled: s.enabled, + continuous_day: s.continuous_day, + range1_hour1: s.range1_hour1, + range1_hour2: s.range1_hour2, + range2_hour1: s.range2_hour1, + range2_hour2: s.range2_hour2, + })), + }); + } + + async requestProfessional(userId: string, data: any) { + const existing = await this.prisma.professionals.findUnique({ where: { user_id: userId } }); + if (existing) throw new Error('Ya tienes una solicitud de profesional'); + + await this.prisma.users.update({ where: { id: userId }, data: { pro_state: 1 } }); + return this.prisma.professionals.create({ + data: { + user_id: userId, + identification: data.identification, + profession: data.profession, + address: data.address, + identification_picture: data.identification_picture, + certificate_picture: data.certificate_picture, + }, + }); + } +} diff --git a/backend/src/professions/professions.controller.ts b/backend/src/professions/professions.controller.ts new file mode 100644 index 0000000..4bd31ce --- /dev/null +++ b/backend/src/professions/professions.controller.ts @@ -0,0 +1,14 @@ +import { Controller, Get } from '@nestjs/common'; +import { ApiTags } from '@nestjs/swagger'; +import { ProfessionsService } from './professions.service'; + +@ApiTags('Professions') +@Controller('professions') +export class ProfessionsController { + constructor(private professions: ProfessionsService) {} + + @Get() + findAll() { + return this.professions.findAll(); + } +} diff --git a/backend/src/professions/professions.module.ts b/backend/src/professions/professions.module.ts new file mode 100644 index 0000000..62fc32f --- /dev/null +++ b/backend/src/professions/professions.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { ProfessionsService } from './professions.service'; +import { ProfessionsController } from './professions.controller'; + +@Module({ + providers: [ProfessionsService], + controllers: [ProfessionsController], +}) +export class ProfessionsModule {} diff --git a/backend/src/professions/professions.service.ts b/backend/src/professions/professions.service.ts new file mode 100644 index 0000000..fd6731a --- /dev/null +++ b/backend/src/professions/professions.service.ts @@ -0,0 +1,11 @@ +import { Injectable } from '@nestjs/common'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class ProfessionsService { + constructor(private prisma: PrismaService) {} + + findAll() { + return this.prisma.professions.findMany({ orderBy: { name: 'asc' } }); + } +} diff --git a/backend/src/services/services.controller.ts b/backend/src/services/services.controller.ts new file mode 100644 index 0000000..c0f85e5 --- /dev/null +++ b/backend/src/services/services.controller.ts @@ -0,0 +1,78 @@ +import { Controller, Get, Post, Patch, Param, Body, UseGuards, Req } from '@nestjs/common'; +import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { ServicesService } from './services.service'; +import { JwtAuthGuard } from '../auth/jwt-auth.guard'; + +@ApiTags('Services') +@Controller('services') +export class ServicesController { + constructor(private services: ServicesService) {} + + @Post() + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + create(@Req() req, @Body() data: any) { + return this.services.create({ ...data, user_id: req.user.sub }); + } + + @Get('me') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + findByMe(@Req() req) { + return this.services.findByUser(req.user.sub); + } + + @Get('professional') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + findByProfessional(@Req() req) { + return this.services.findByProfessional(req.user.sub); + } + + @Get('professional/requests') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + requestsByProfessional(@Req() req) { + return this.services.findRequestsByProfessional(req.user.sub); + } + + @Get('professional/history') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + historyByProfessional(@Req() req) { + return this.services.getHistoryByProfessional(req.user.sub); + } + + @Get('me/history') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + historyByUser(@Req() req) { + return this.services.getHistoryByUser(req.user.sub); + } + + @Get('professional/calendar') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + calendarByProfessional(@Req() req) { + return this.services.getCalendarByProfessional(req.user.sub); + } + + @Get('public-calendar/:professionalId') + getPublicCalendar(@Param('professionalId') id: string) { + return this.services.getPublicCalendar(id); + } + + @Get(':id') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + findById(@Param('id') id: string) { + return this.services.findById(id); + } + + @Patch(':id/status') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + updateStatus(@Param('id') id: string, @Body() dto: { status: string }) { + return this.services.updateStatus(id, dto.status); + } +} diff --git a/backend/src/services/services.module.ts b/backend/src/services/services.module.ts new file mode 100644 index 0000000..ebe6e32 --- /dev/null +++ b/backend/src/services/services.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { ServicesService } from './services.service'; +import { ServicesController } from './services.controller'; + +@Module({ + providers: [ServicesService], + controllers: [ServicesController], + exports: [ServicesService], +}) +export class ServicesModule {} diff --git a/backend/src/services/services.service.ts b/backend/src/services/services.service.ts new file mode 100644 index 0000000..a6e3fb5 --- /dev/null +++ b/backend/src/services/services.service.ts @@ -0,0 +1,94 @@ +import { Injectable } from '@nestjs/common'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class ServicesService { + constructor(private prisma: PrismaService) {} + + create(data: { + professional_id: string; + user_id: string; + day: string; + description?: string; + rate?: number; + range1_hour1?: string; + range1_hour2?: string; + address?: string; + latitude?: number; + longitude?: number; + location_preference?: 'office' | 'delivery'; + }) { + return this.prisma.services.create({ data: { ...data, day: new Date(data.day) } as any }); + } + + findByUser(userId: string) { + return this.prisma.services.findMany({ + where: { user_id: userId }, + include: { professionals: { include: { users: true } } }, + orderBy: { created_at: 'desc' }, + }); + } + + findByProfessional(professionalId: string) { + return this.prisma.services.findMany({ + where: { professional_id: professionalId }, + include: { users: { select: { id: true, name: true, picture: true, phone: true } } }, + orderBy: { created_at: 'desc' }, + }); + } + + findRequestsByProfessional(professionalId: string) { + return this.prisma.services.findMany({ + where: { professional_id: professionalId, status: 'pending' }, + include: { users: { select: { id: true, name: true, picture: true, phone: true } } }, + orderBy: { created_at: 'desc' }, + }); + } + + updateStatus(id: string, status: string) { + return this.prisma.services.update({ where: { id }, data: { status: status as any } }); + } + + findById(id: string) { + return this.prisma.services.findUnique({ + where: { id }, + include: { + users: { select: { id: true, name: true, picture: true, phone: true } }, + professionals: { include: { users: true } }, + }, + }); + } + + getHistoryByUser(userId: string) { + return this.prisma.services.findMany({ + where: { user_id: userId, status: { in: ['completed', 'cancelled'] } }, + include: { professionals: { include: { users: true } } }, + orderBy: { day: 'desc' }, + }); + } + + getHistoryByProfessional(professionalId: string) { + return this.prisma.services.findMany({ + where: { professional_id: professionalId, status: { in: ['completed', 'cancelled'] } }, + include: { users: { select: { id: true, name: true, picture: true } } }, + orderBy: { day: 'desc' }, + }); + } + + getCalendarByProfessional(professionalId: string) { + return this.prisma.services.findMany({ + where: { professional_id: professionalId, status: { notIn: ['denied', 'cancelled'] } }, + orderBy: { day: 'asc' }, + }); + } + + async getPublicCalendar(professionalId: string) { + const schedules = await this.prisma.schedules.findMany({ + where: { professional_id: professionalId, enabled: true }, + }); + const services = await this.prisma.services.findMany({ + where: { professional_id: professionalId, status: { notIn: ['denied', 'cancelled'] } }, + }); + return { schedules, services }; + } +} diff --git a/backend/src/settings/settings.controller.ts b/backend/src/settings/settings.controller.ts new file mode 100644 index 0000000..ed7909d --- /dev/null +++ b/backend/src/settings/settings.controller.ts @@ -0,0 +1,14 @@ +import { Controller, Get } from '@nestjs/common'; +import { ApiTags } from '@nestjs/swagger'; +import { SettingsService } from './settings.service'; + +@ApiTags('Settings') +@Controller('settings') +export class SettingsController { + constructor(private settings: SettingsService) {} + + @Get() + getGlobal() { + return this.settings.getGlobal(); + } +} diff --git a/backend/src/settings/settings.module.ts b/backend/src/settings/settings.module.ts new file mode 100644 index 0000000..a289b96 --- /dev/null +++ b/backend/src/settings/settings.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { SettingsService } from './settings.service'; +import { SettingsController } from './settings.controller'; + +@Module({ + providers: [SettingsService], + controllers: [SettingsController], +}) +export class SettingsModule {} diff --git a/backend/src/settings/settings.service.ts b/backend/src/settings/settings.service.ts new file mode 100644 index 0000000..2670b03 --- /dev/null +++ b/backend/src/settings/settings.service.ts @@ -0,0 +1,12 @@ +import { Injectable } from '@nestjs/common'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class SettingsService { + constructor(private prisma: PrismaService) {} + + async getGlobal() { + const setting = await this.prisma.settings.findUnique({ where: { key: 'global' } }); + return setting?.value; + } +} diff --git a/backend/src/storage/storage.controller.ts b/backend/src/storage/storage.controller.ts new file mode 100644 index 0000000..d03b2ca --- /dev/null +++ b/backend/src/storage/storage.controller.ts @@ -0,0 +1,19 @@ +import { Controller, Post, UseGuards, Req, UploadedFile, UseInterceptors } from '@nestjs/common'; +import { FileInterceptor } from '@nestjs/platform-express'; +import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { JwtAuthGuard } from '../auth/jwt-auth.guard'; +import { StorageService } from './storage.service'; + +@ApiTags('Storage') +@Controller('storage') +export class StorageController { + constructor(private storage: StorageService) {} + + @Post('upload') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + @UseInterceptors(FileInterceptor('file')) + upload(@UploadedFile() file: any) { + return { url: this.storage.getUploadUrl(file?.originalname) }; + } +} diff --git a/backend/src/storage/storage.module.ts b/backend/src/storage/storage.module.ts new file mode 100644 index 0000000..b827531 --- /dev/null +++ b/backend/src/storage/storage.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { StorageService } from './storage.service'; +import { StorageController } from './storage.controller'; + +@Module({ + providers: [StorageService], + controllers: [StorageController], +}) +export class StorageModule {} diff --git a/backend/src/storage/storage.service.ts b/backend/src/storage/storage.service.ts new file mode 100644 index 0000000..4c8a7f0 --- /dev/null +++ b/backend/src/storage/storage.service.ts @@ -0,0 +1,14 @@ +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class StorageService { + private baseUrl: string; + + constructor() { + this.baseUrl = process.env.STORAGE_URL || 'http://localhost:9000'; + } + + getUploadUrl(fileName: string) { + return `${this.baseUrl}/uploads/${fileName}`; + } +} diff --git a/backend/src/users/users.controller.ts b/backend/src/users/users.controller.ts new file mode 100644 index 0000000..1b85354 --- /dev/null +++ b/backend/src/users/users.controller.ts @@ -0,0 +1,38 @@ +import { Controller, Get, Patch, Param, Body, UseGuards, Req } from '@nestjs/common'; +import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { UsersService } from './users.service'; +import { JwtAuthGuard } from '../auth/jwt-auth.guard'; + +@ApiTags('Users') +@Controller('users') +export class UsersController { + constructor(private users: UsersService) {} + + @Get() + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + findAll() { + return this.users.findAll(); + } + + @Get(':id') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + findById(@Param('id') id: string) { + return this.users.findById(id); + } + + @Patch('me') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + update(@Req() req, @Body() data: any) { + return this.users.update(req.user.sub, data); + } + + @Patch('fcm-token') + @UseGuards(JwtAuthGuard) + @ApiBearerAuth() + updateFcmToken(@Req() req, @Body() dto: { token: string }) { + return this.users.updateFcmToken(req.user.sub, dto.token); + } +} diff --git a/backend/src/users/users.module.ts b/backend/src/users/users.module.ts new file mode 100644 index 0000000..3d863e4 --- /dev/null +++ b/backend/src/users/users.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { UsersService } from './users.service'; +import { UsersController } from './users.controller'; + +@Module({ + providers: [UsersService], + controllers: [UsersController], + exports: [UsersService], +}) +export class UsersModule {} diff --git a/backend/src/users/users.service.ts b/backend/src/users/users.service.ts new file mode 100644 index 0000000..6e9c8b8 --- /dev/null +++ b/backend/src/users/users.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@nestjs/common'; +import { PrismaService } from '../prisma/prisma.service'; + +@Injectable() +export class UsersService { + constructor(private prisma: PrismaService) {} + + findAll() { + return this.prisma.users.findMany({ orderBy: { created_at: 'desc' } }); + } + + findById(id: string) { + return this.prisma.users.findUnique({ + where: { id }, + include: { + professionals: { include: { schedules: true, specializations: true } }, + reputations: true, + }, + }); + } + + update(id: string, data: any) { + return this.prisma.users.update({ where: { id }, data }); + } + + updateFcmToken(id: string, fcm_token: string) { + return this.prisma.users.update({ where: { id }, data: { fcm_token } }); + } +} diff --git a/backend/tsconfig.json b/backend/tsconfig.json new file mode 100644 index 0000000..2e4260a --- /dev/null +++ b/backend/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "target": "ES2021", + "sourceMap": true, + "outDir": "./dist", + "rootDir": "./src", + "incremental": true, + "skipLibCheck": true, + "strictNullChecks": true, + "noImplicitAny": false, + "strictBindCallApply": false, + "forceConsistentCasingInFileNames": false, + "noFallthroughCasesInSwitch": false, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist", "prisma", "prisma.config.ts"] +} diff --git a/backend/tsconfig.tsbuildinfo b/backend/tsconfig.tsbuildinfo new file mode 100644 index 0000000..cf6ed4c --- /dev/null +++ b/backend/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.dom.asynciterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2025.float16.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/typescript/lib/lib.es2021.full.d.ts","./node_modules/dotenv/config.d.ts","./node_modules/@prisma/config/dist/index.d.ts","./prisma.config.d.ts","./node_modules/reflect-metadata/index.d.ts","./node_modules/@nestjs/common/decorators/core/bind.decorator.d.ts","./node_modules/@nestjs/common/interfaces/abstract.interface.d.ts","./node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.d.ts","./node_modules/@nestjs/common/interfaces/controllers/controller.interface.d.ts","./node_modules/@nestjs/common/interfaces/features/arguments-host.interface.d.ts","./node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.d.ts","./node_modules/rxjs/dist/types/internal/subscription.d.ts","./node_modules/rxjs/dist/types/internal/subscriber.d.ts","./node_modules/rxjs/dist/types/internal/operator.d.ts","./node_modules/rxjs/dist/types/internal/observable.d.ts","./node_modules/rxjs/dist/types/internal/types.d.ts","./node_modules/rxjs/dist/types/internal/operators/audit.d.ts","./node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","./node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","./node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","./node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","./node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","./node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","./node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","./node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","./node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","./node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","./node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","./node_modules/rxjs/dist/types/internal/operators/concat.d.ts","./node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","./node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","./node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","./node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","./node_modules/rxjs/dist/types/internal/operators/connect.d.ts","./node_modules/rxjs/dist/types/internal/operators/count.d.ts","./node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","./node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","./node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","./node_modules/rxjs/dist/types/internal/operators/delay.d.ts","./node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","./node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","./node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","./node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","./node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","./node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","./node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","./node_modules/rxjs/dist/types/internal/operators/every.d.ts","./node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","./node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","./node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","./node_modules/rxjs/dist/types/internal/operators/expand.d.ts","./node_modules/rxjs/dist/types/internal/operators/filter.d.ts","./node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","./node_modules/rxjs/dist/types/internal/operators/find.d.ts","./node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","./node_modules/rxjs/dist/types/internal/operators/first.d.ts","./node_modules/rxjs/dist/types/internal/subject.d.ts","./node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","./node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","./node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","./node_modules/rxjs/dist/types/internal/operators/last.d.ts","./node_modules/rxjs/dist/types/internal/operators/map.d.ts","./node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","./node_modules/rxjs/dist/types/internal/notification.d.ts","./node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","./node_modules/rxjs/dist/types/internal/operators/max.d.ts","./node_modules/rxjs/dist/types/internal/operators/merge.d.ts","./node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","./node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","./node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","./node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","./node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","./node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","./node_modules/rxjs/dist/types/internal/operators/min.d.ts","./node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","./node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","./node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","./node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","./node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","./node_modules/rxjs/dist/types/internal/operators/partition.d.ts","./node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","./node_modules/rxjs/dist/types/internal/operators/publish.d.ts","./node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","./node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","./node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","./node_modules/rxjs/dist/types/internal/operators/race.d.ts","./node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","./node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","./node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","./node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","./node_modules/rxjs/dist/types/internal/operators/retry.d.ts","./node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","./node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","./node_modules/rxjs/dist/types/internal/operators/sample.d.ts","./node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","./node_modules/rxjs/dist/types/internal/operators/scan.d.ts","./node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","./node_modules/rxjs/dist/types/internal/operators/share.d.ts","./node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","./node_modules/rxjs/dist/types/internal/operators/single.d.ts","./node_modules/rxjs/dist/types/internal/operators/skip.d.ts","./node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","./node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","./node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","./node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","./node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","./node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","./node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","./node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","./node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","./node_modules/rxjs/dist/types/internal/operators/take.d.ts","./node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","./node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","./node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","./node_modules/rxjs/dist/types/internal/operators/tap.d.ts","./node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","./node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","./node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","./node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","./node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","./node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","./node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","./node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","./node_modules/rxjs/dist/types/internal/operators/window.d.ts","./node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","./node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","./node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","./node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","./node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","./node_modules/rxjs/dist/types/internal/operators/zip.d.ts","./node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","./node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","./node_modules/rxjs/dist/types/operators/index.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","./node_modules/rxjs/dist/types/internal/scheduler.d.ts","./node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","./node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","./node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","./node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","./node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","./node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","./node_modules/rxjs/dist/types/testing/index.d.ts","./node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","./node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","./node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","./node_modules/rxjs/dist/types/internal/replaysubject.d.ts","./node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","./node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","./node_modules/rxjs/dist/types/internal/util/identity.d.ts","./node_modules/rxjs/dist/types/internal/util/pipe.d.ts","./node_modules/rxjs/dist/types/internal/util/noop.d.ts","./node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","./node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","./node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","./node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","./node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","./node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","./node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","./node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","./node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","./node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","./node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","./node_modules/rxjs/dist/types/internal/anycatcher.d.ts","./node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","./node_modules/rxjs/dist/types/internal/observable/concat.d.ts","./node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","./node_modules/rxjs/dist/types/internal/observable/defer.d.ts","./node_modules/rxjs/dist/types/internal/observable/empty.d.ts","./node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","./node_modules/rxjs/dist/types/internal/observable/from.d.ts","./node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","./node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","./node_modules/rxjs/dist/types/internal/observable/generate.d.ts","./node_modules/rxjs/dist/types/internal/observable/iif.d.ts","./node_modules/rxjs/dist/types/internal/observable/interval.d.ts","./node_modules/rxjs/dist/types/internal/observable/merge.d.ts","./node_modules/rxjs/dist/types/internal/observable/never.d.ts","./node_modules/rxjs/dist/types/internal/observable/of.d.ts","./node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","./node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","./node_modules/rxjs/dist/types/internal/observable/partition.d.ts","./node_modules/rxjs/dist/types/internal/observable/race.d.ts","./node_modules/rxjs/dist/types/internal/observable/range.d.ts","./node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","./node_modules/rxjs/dist/types/internal/observable/timer.d.ts","./node_modules/rxjs/dist/types/internal/observable/using.d.ts","./node_modules/rxjs/dist/types/internal/observable/zip.d.ts","./node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","./node_modules/rxjs/dist/types/internal/config.d.ts","./node_modules/rxjs/dist/types/index.d.ts","./node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.d.ts","./node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.d.ts","./node_modules/@nestjs/common/interfaces/external/validation-error.interface.d.ts","./node_modules/@nestjs/common/interfaces/features/execution-context.interface.d.ts","./node_modules/@nestjs/common/interfaces/features/can-activate.interface.d.ts","./node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.d.ts","./node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.d.ts","./node_modules/@nestjs/common/interfaces/features/paramtype.interface.d.ts","./node_modules/@nestjs/common/interfaces/type.interface.d.ts","./node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.d.ts","./node_modules/@nestjs/common/enums/request-method.enum.d.ts","./node_modules/@nestjs/common/enums/http-status.enum.d.ts","./node_modules/@nestjs/common/enums/shutdown-signal.enum.d.ts","./node_modules/@nestjs/common/enums/version-type.enum.d.ts","./node_modules/@nestjs/common/enums/index.d.ts","./node_modules/@nestjs/common/interfaces/version-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.d.ts","./node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.d.ts","./node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.d.ts","./node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.d.ts","./node_modules/@nestjs/common/interfaces/middleware/index.d.ts","./node_modules/@nestjs/common/interfaces/global-prefix-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.d.ts","./node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.d.ts","./node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.d.ts","./node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.d.ts","./node_modules/@nestjs/common/interfaces/hooks/on-init.interface.d.ts","./node_modules/@nestjs/common/interfaces/hooks/index.d.ts","./node_modules/@nestjs/common/interfaces/http/http-exception-body.interface.d.ts","./node_modules/@nestjs/common/interfaces/http/http-redirect-response.interface.d.ts","./node_modules/@nestjs/common/interfaces/external/cors-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/external/https-options.interface.d.ts","./node_modules/@nestjs/common/services/logger.service.d.ts","./node_modules/@nestjs/common/interfaces/nest-application-context-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/nest-application-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/http/http-server.interface.d.ts","./node_modules/@nestjs/common/interfaces/http/message-event.interface.d.ts","./node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.d.ts","./node_modules/@nestjs/common/interfaces/http/index.d.ts","./node_modules/@nestjs/common/interfaces/injectable.interface.d.ts","./node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.d.ts","./node_modules/@nestjs/common/interfaces/scope-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/injection-token.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/provider.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/nest-module.interface.d.ts","./node_modules/@nestjs/common/interfaces/modules/index.d.ts","./node_modules/@nestjs/common/interfaces/shutdown-hooks-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/nest-application-context.interface.d.ts","./node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.d.ts","./node_modules/@nestjs/common/interfaces/nest-application.interface.d.ts","./node_modules/@nestjs/common/interfaces/nest-microservice.interface.d.ts","./node_modules/@nestjs/common/interfaces/index.d.ts","./node_modules/@nestjs/common/decorators/core/catch.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/controller.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/dependencies.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/exception-filters.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/inject.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/injectable.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/optional.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/set-metadata.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/use-guards.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/use-pipes.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/apply-decorators.d.ts","./node_modules/@nestjs/common/decorators/core/version.decorator.d.ts","./node_modules/@nestjs/common/decorators/core/index.d.ts","./node_modules/@nestjs/common/decorators/modules/global.decorator.d.ts","./node_modules/@nestjs/common/decorators/modules/module.decorator.d.ts","./node_modules/@nestjs/common/decorators/modules/index.d.ts","./node_modules/@nestjs/common/decorators/http/request-mapping.decorator.d.ts","./node_modules/@nestjs/common/decorators/http/route-params.decorator.d.ts","./node_modules/@nestjs/common/decorators/http/http-code.decorator.d.ts","./node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.d.ts","./node_modules/@nestjs/common/decorators/http/render.decorator.d.ts","./node_modules/@nestjs/common/decorators/http/header.decorator.d.ts","./node_modules/@nestjs/common/decorators/http/redirect.decorator.d.ts","./node_modules/@nestjs/common/constants.d.ts","./node_modules/@nestjs/common/decorators/http/sse.decorator.d.ts","./node_modules/@nestjs/common/decorators/http/index.d.ts","./node_modules/@nestjs/common/decorators/index.d.ts","./node_modules/@nestjs/common/exceptions/intrinsic.exception.d.ts","./node_modules/@nestjs/common/exceptions/http.exception.d.ts","./node_modules/@nestjs/common/exceptions/bad-gateway.exception.d.ts","./node_modules/@nestjs/common/exceptions/bad-request.exception.d.ts","./node_modules/@nestjs/common/exceptions/conflict.exception.d.ts","./node_modules/@nestjs/common/exceptions/forbidden.exception.d.ts","./node_modules/@nestjs/common/exceptions/gateway-timeout.exception.d.ts","./node_modules/@nestjs/common/exceptions/gone.exception.d.ts","./node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.d.ts","./node_modules/@nestjs/common/exceptions/im-a-teapot.exception.d.ts","./node_modules/@nestjs/common/exceptions/internal-server-error.exception.d.ts","./node_modules/@nestjs/common/exceptions/method-not-allowed.exception.d.ts","./node_modules/@nestjs/common/exceptions/misdirected.exception.d.ts","./node_modules/@nestjs/common/exceptions/not-acceptable.exception.d.ts","./node_modules/@nestjs/common/exceptions/not-found.exception.d.ts","./node_modules/@nestjs/common/exceptions/not-implemented.exception.d.ts","./node_modules/@nestjs/common/exceptions/payload-too-large.exception.d.ts","./node_modules/@nestjs/common/exceptions/precondition-failed.exception.d.ts","./node_modules/@nestjs/common/exceptions/request-timeout.exception.d.ts","./node_modules/@nestjs/common/exceptions/service-unavailable.exception.d.ts","./node_modules/@nestjs/common/exceptions/unauthorized.exception.d.ts","./node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.d.ts","./node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.d.ts","./node_modules/@nestjs/common/exceptions/index.d.ts","./node_modules/@nestjs/common/services/console-logger.service.d.ts","./node_modules/@nestjs/common/services/utils/filter-log-levels.util.d.ts","./node_modules/@nestjs/common/services/index.d.ts","./node_modules/@nestjs/common/file-stream/interfaces/streamable-options.interface.d.ts","./node_modules/@nestjs/common/file-stream/interfaces/streamable-handler-response.interface.d.ts","./node_modules/@nestjs/common/file-stream/interfaces/index.d.ts","./node_modules/@nestjs/common/file-stream/streamable-file.d.ts","./node_modules/@nestjs/common/file-stream/index.d.ts","./node_modules/@nestjs/common/module-utils/constants.d.ts","./node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.d.ts","./node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.d.ts","./node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.d.ts","./node_modules/@nestjs/common/module-utils/interfaces/index.d.ts","./node_modules/@nestjs/common/module-utils/configurable-module.builder.d.ts","./node_modules/@nestjs/common/module-utils/index.d.ts","./node_modules/@nestjs/common/pipes/default-value.pipe.d.ts","./node_modules/@nestjs/common/pipes/file/interfaces/file.interface.d.ts","./node_modules/@nestjs/common/pipes/file/interfaces/index.d.ts","./node_modules/@nestjs/common/pipes/file/file-validator-context.interface.d.ts","./node_modules/@nestjs/common/pipes/file/file-validator.interface.d.ts","./node_modules/@nestjs/common/pipes/file/file-type.validator.d.ts","./node_modules/@nestjs/common/pipes/file/max-file-size.validator.d.ts","./node_modules/@nestjs/common/utils/http-error-by-code.util.d.ts","./node_modules/@nestjs/common/pipes/file/parse-file-options.interface.d.ts","./node_modules/@nestjs/common/pipes/file/parse-file.pipe.d.ts","./node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.d.ts","./node_modules/@nestjs/common/pipes/file/index.d.ts","./node_modules/@nestjs/common/interfaces/external/class-transform-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/external/transformer-package.interface.d.ts","./node_modules/@nestjs/common/interfaces/external/validator-options.interface.d.ts","./node_modules/@nestjs/common/interfaces/external/validator-package.interface.d.ts","./node_modules/@nestjs/common/pipes/validation.pipe.d.ts","./node_modules/@nestjs/common/pipes/parse-array.pipe.d.ts","./node_modules/@nestjs/common/pipes/parse-bool.pipe.d.ts","./node_modules/@nestjs/common/pipes/parse-date.pipe.d.ts","./node_modules/@nestjs/common/pipes/parse-enum.pipe.d.ts","./node_modules/@nestjs/common/pipes/parse-float.pipe.d.ts","./node_modules/@nestjs/common/pipes/parse-int.pipe.d.ts","./node_modules/@nestjs/common/pipes/parse-uuid.pipe.d.ts","./node_modules/@nestjs/common/pipes/index.d.ts","./node_modules/@nestjs/common/serializer/class-serializer.interfaces.d.ts","./node_modules/@nestjs/common/serializer/class-serializer.interceptor.d.ts","./node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.d.ts","./node_modules/@nestjs/common/serializer/decorators/index.d.ts","./node_modules/@nestjs/common/serializer/index.d.ts","./node_modules/@nestjs/common/utils/forward-ref.util.d.ts","./node_modules/@nestjs/common/utils/index.d.ts","./node_modules/@nestjs/common/index.d.ts","./node_modules/@nestjs/config/dist/conditional.module.d.ts","./node_modules/@nestjs/config/dist/interfaces/config-change-event.interface.d.ts","./node_modules/@nestjs/config/dist/types/config-object.type.d.ts","./node_modules/@nestjs/config/dist/types/config.type.d.ts","./node_modules/@nestjs/config/dist/types/no-infer.type.d.ts","./node_modules/@nestjs/config/dist/types/path-value.type.d.ts","./node_modules/@nestjs/config/dist/types/index.d.ts","./node_modules/@nestjs/config/dist/interfaces/config-factory.interface.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/blob.d.ts","./node_modules/@types/node/web-globals/console.d.ts","./node_modules/@types/node/web-globals/crypto.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/encoding.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/undici-types/utility.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client-stats.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/round-robin-pool.d.ts","./node_modules/undici-types/h2c-client.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-call-history.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/snapshot-agent.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/socks5-proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/cache-interceptor.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/importmeta.d.ts","./node_modules/@types/node/web-globals/messaging.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/performance.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/web-globals/streams.d.ts","./node_modules/@types/node/web-globals/timers.d.ts","./node_modules/@types/node/web-globals/url.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/inspector/promises.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/buffer/index.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/path/posix.d.ts","./node_modules/@types/node/path/win32.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/quic.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/iter.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/test/reporters.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/util/types.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/zlib/iter.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/dotenv-expand/lib/main.d.ts","./node_modules/@nestjs/config/dist/interfaces/config-module-options.interface.d.ts","./node_modules/@nestjs/config/dist/interfaces/index.d.ts","./node_modules/@nestjs/config/dist/config.module.d.ts","./node_modules/@nestjs/config/dist/config.service.d.ts","./node_modules/@nestjs/config/dist/utils/register-as.util.d.ts","./node_modules/@nestjs/config/dist/utils/get-config-token.util.d.ts","./node_modules/@nestjs/config/dist/utils/index.d.ts","./node_modules/@nestjs/config/dist/index.d.ts","./node_modules/@nestjs/config/index.d.ts","./node_modules/@prisma/client-runtime-utils/dist/index.d.ts","./node_modules/@prisma/client/runtime/client.d.ts","./node_modules/.prisma/client/index.d.ts","./node_modules/.prisma/client/default.d.ts","./node_modules/@prisma/client/default.d.ts","./src/prisma/prisma.service.ts","./src/prisma/prisma.module.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/jsonwebtoken/index.d.ts","./node_modules/@nestjs/jwt/dist/interfaces/jwt-module-options.interface.d.ts","./node_modules/@nestjs/jwt/dist/interfaces/index.d.ts","./node_modules/@nestjs/jwt/dist/jwt.errors.d.ts","./node_modules/@nestjs/jwt/dist/jwt.module.d.ts","./node_modules/@nestjs/jwt/dist/jwt.service.d.ts","./node_modules/@nestjs/jwt/dist/index.d.ts","./node_modules/@nestjs/jwt/index.d.ts","./node_modules/@nestjs/passport/dist/abstract.strategy.d.ts","./node_modules/@nestjs/passport/dist/interfaces/auth-module.options.d.ts","./node_modules/@nestjs/passport/dist/interfaces/type.interface.d.ts","./node_modules/@nestjs/passport/dist/interfaces/index.d.ts","./node_modules/@nestjs/passport/dist/auth.guard.d.ts","./node_modules/@nestjs/passport/dist/passport.module.d.ts","./node_modules/@types/send/index.d.ts","./node_modules/@types/qs/index.d.ts","./node_modules/@types/range-parser/index.d.ts","./node_modules/@types/express-serve-static-core/index.d.ts","./node_modules/@types/http-errors/index.d.ts","./node_modules/@types/serve-static/index.d.ts","./node_modules/@types/connect/index.d.ts","./node_modules/@types/body-parser/index.d.ts","./node_modules/@types/express/index.d.ts","./node_modules/@types/passport/index.d.ts","./node_modules/@nestjs/passport/dist/passport/passport.serializer.d.ts","./node_modules/@nestjs/passport/dist/passport/passport.strategy.d.ts","./node_modules/@nestjs/passport/dist/index.d.ts","./node_modules/@nestjs/passport/index.d.ts","./node_modules/bcryptjs/umd/types.d.ts","./node_modules/bcryptjs/umd/index.d.ts","./src/auth/auth.service.ts","./node_modules/@nestjs/swagger/dist/decorators/api-basic.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-bearer.decorator.d.ts","./node_modules/@nestjs/swagger/dist/interfaces/open-api-spec.interface.d.ts","./node_modules/@nestjs/swagger/dist/types/swagger-enum.type.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-body.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-consumes.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-cookie.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-default-getter.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-exclude-endpoint.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-include-endpoint.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-exclude-controller.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-extra-models.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-header.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-hide-property.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-link.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-oauth2.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-operation.decorator.d.ts","./node_modules/@nestjs/swagger/dist/interfaces/enum-schema-attributes.interface.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-param.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-produces.decorator.d.ts","./node_modules/@nestjs/swagger/dist/interfaces/schema-object-metadata.interface.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-property.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-query.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-webhook.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-response.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-security.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-use-tags.decorator.d.ts","./node_modules/@nestjs/swagger/dist/interfaces/callback-object.interface.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-callbacks.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-extension.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/api-schema.decorator.d.ts","./node_modules/@nestjs/swagger/dist/decorators/index.d.ts","./node_modules/@nestjs/swagger/dist/interfaces/swagger-ui-options.interface.d.ts","./node_modules/@nestjs/swagger/dist/interfaces/swagger-custom-options.interface.d.ts","./node_modules/@nestjs/swagger/dist/interfaces/swagger-document-options.interface.d.ts","./node_modules/@nestjs/swagger/dist/interfaces/index.d.ts","./node_modules/@nestjs/swagger/dist/document-builder.d.ts","./node_modules/@nestjs/swagger/dist/swagger-module.d.ts","./node_modules/@nestjs/swagger/dist/type-helpers/deep-partial-type.helper.d.ts","./node_modules/@nestjs/swagger/dist/type-helpers/intersection-type.helper.d.ts","./node_modules/@nestjs/swagger/dist/type-helpers/omit-type.helper.d.ts","./node_modules/@nestjs/swagger/dist/type-helpers/partial-type.helper.d.ts","./node_modules/@nestjs/swagger/dist/type-helpers/pick-type.helper.d.ts","./node_modules/@nestjs/swagger/dist/type-helpers/index.d.ts","./node_modules/@nestjs/swagger/dist/utils/get-schema-path.util.d.ts","./node_modules/@nestjs/swagger/dist/utils/generate-schema.util.d.ts","./node_modules/@nestjs/swagger/dist/utils/index.d.ts","./node_modules/@nestjs/swagger/dist/constants.d.ts","./node_modules/@nestjs/swagger/dist/index.d.ts","./src/auth/jwt-auth.guard.ts","./src/auth/auth.controller.ts","./node_modules/@types/passport-strategy/index.d.ts","./node_modules/@types/passport-jwt/index.d.ts","./src/auth/jwt.strategy.ts","./src/auth/auth.module.ts","./src/users/users.service.ts","./src/users/users.controller.ts","./src/users/users.module.ts","./src/professionals/professionals.service.ts","./src/professionals/professionals.controller.ts","./src/professionals/professionals.module.ts","./src/services/services.service.ts","./src/services/services.controller.ts","./src/services/services.module.ts","./src/comments/comments.service.ts","./src/comments/comments.controller.ts","./src/comments/comments.module.ts","./src/chat/chat.service.ts","./src/chat/chat.controller.ts","./node_modules/@nestjs/websockets/adapters/ws-adapter.d.ts","./node_modules/@nestjs/websockets/adapters/index.d.ts","./node_modules/@nestjs/websockets/decorators/connected-socket.decorator.d.ts","./node_modules/@nestjs/websockets/decorators/gateway-server.decorator.d.ts","./node_modules/@nestjs/websockets/decorators/message-body.decorator.d.ts","./node_modules/@nestjs/websockets/interfaces/gateway-metadata.interface.d.ts","./node_modules/@nestjs/websockets/interfaces/hooks/on-gateway-connection.interface.d.ts","./node_modules/@nestjs/websockets/interfaces/hooks/on-gateway-disconnect.interface.d.ts","./node_modules/@nestjs/websockets/interfaces/hooks/on-gateway-init.interface.d.ts","./node_modules/@nestjs/websockets/interfaces/hooks/index.d.ts","./node_modules/@nestjs/websockets/interfaces/server-and-event-streams-host.interface.d.ts","./node_modules/@nestjs/websockets/interfaces/web-socket-server.interface.d.ts","./node_modules/@nestjs/websockets/interfaces/ws-response.interface.d.ts","./node_modules/@nestjs/websockets/interfaces/index.d.ts","./node_modules/@nestjs/websockets/decorators/socket-gateway.decorator.d.ts","./node_modules/@nestjs/websockets/decorators/subscribe-message.decorator.d.ts","./node_modules/@nestjs/websockets/decorators/ack.decorator.d.ts","./node_modules/@nestjs/websockets/decorators/index.d.ts","./node_modules/@nestjs/websockets/errors/ws-exception.d.ts","./node_modules/@nestjs/websockets/errors/index.d.ts","./node_modules/@nestjs/websockets/exceptions/base-ws-exception-filter.d.ts","./node_modules/@nestjs/websockets/exceptions/index.d.ts","./node_modules/@nestjs/core/metadata-scanner.d.ts","./node_modules/@nestjs/websockets/interfaces/nest-gateway.interface.d.ts","./node_modules/@nestjs/websockets/gateway-metadata-explorer.d.ts","./node_modules/@nestjs/websockets/index.d.ts","./node_modules/engine.io-parser/build/cjs/commons.d.ts","./node_modules/engine.io-parser/build/cjs/encodepacket.d.ts","./node_modules/engine.io-parser/build/cjs/decodepacket.d.ts","./node_modules/engine.io-parser/build/cjs/index.d.ts","./node_modules/engine.io/build/parser-v3/index.d.ts","./node_modules/@types/ws/index.d.ts","./node_modules/engine.io/build/transport.d.ts","./node_modules/engine.io/build/socket.d.ts","./node_modules/@types/cors/index.d.ts","./node_modules/engine.io/build/contrib/types.cookie.d.ts","./node_modules/engine.io/build/server.d.ts","./node_modules/engine.io/build/transports/polling.d.ts","./node_modules/engine.io/build/transports/websocket.d.ts","./node_modules/engine.io/build/transports/webtransport.d.ts","./node_modules/engine.io/build/transports/index.d.ts","./node_modules/engine.io/build/userver.d.ts","./node_modules/engine.io/build/engine.io.d.ts","./node_modules/@socket.io/component-emitter/lib/cjs/index.d.ts","./node_modules/socket.io-parser/build/cjs/index.d.ts","./node_modules/socket.io/dist/typed-events.d.ts","./node_modules/socket.io/dist/client.d.ts","./node_modules/socket.io-adapter/dist/in-memory-adapter.d.ts","./node_modules/socket.io-adapter/dist/cluster-adapter.d.ts","./node_modules/socket.io-adapter/dist/index.d.ts","./node_modules/socket.io/dist/socket-types.d.ts","./node_modules/socket.io/dist/broadcast-operator.d.ts","./node_modules/socket.io/dist/socket.d.ts","./node_modules/socket.io/dist/namespace.d.ts","./node_modules/socket.io/dist/index.d.ts","./src/chat/chat.gateway.ts","./src/chat/chat.module.ts","./src/locations/locations.service.ts","./src/locations/locations.controller.ts","./src/locations/locations.module.ts","./src/settings/settings.service.ts","./src/settings/settings.controller.ts","./src/settings/settings.module.ts","./src/professions/professions.service.ts","./src/professions/professions.controller.ts","./src/professions/professions.module.ts","./src/storage/storage.service.ts","./node_modules/@nestjs/core/adapters/http-adapter.d.ts","./node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser-options.interface.d.ts","./node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser.interface.d.ts","./node_modules/@nestjs/platform-express/interfaces/serve-static-options.interface.d.ts","./node_modules/@nestjs/platform-express/adapters/express-adapter.d.ts","./node_modules/@nestjs/platform-express/adapters/index.d.ts","./node_modules/@nestjs/platform-express/interfaces/nest-express-application.interface.d.ts","./node_modules/@nestjs/platform-express/interfaces/index.d.ts","./node_modules/@nestjs/platform-express/multer/interfaces/multer-options.interface.d.ts","./node_modules/@nestjs/platform-express/multer/interceptors/any-files.interceptor.d.ts","./node_modules/@nestjs/platform-express/multer/interceptors/file-fields.interceptor.d.ts","./node_modules/@nestjs/platform-express/multer/interceptors/file.interceptor.d.ts","./node_modules/@nestjs/platform-express/multer/interceptors/files.interceptor.d.ts","./node_modules/@nestjs/platform-express/multer/interceptors/no-files.interceptor.d.ts","./node_modules/@nestjs/platform-express/multer/interceptors/index.d.ts","./node_modules/@nestjs/platform-express/multer/interfaces/files-upload-module.interface.d.ts","./node_modules/@nestjs/platform-express/multer/interfaces/index.d.ts","./node_modules/@nestjs/platform-express/multer/multer.module.d.ts","./node_modules/@nestjs/platform-express/multer/index.d.ts","./node_modules/@nestjs/platform-express/index.d.ts","./src/storage/storage.controller.ts","./src/storage/storage.module.ts","./src/app.module.ts","./node_modules/@nestjs/core/adapters/index.d.ts","./node_modules/@nestjs/core/inspector/interfaces/edge.interface.d.ts","./node_modules/@nestjs/core/inspector/interfaces/entrypoint.interface.d.ts","./node_modules/@nestjs/core/inspector/interfaces/extras.interface.d.ts","./node_modules/@nestjs/core/inspector/interfaces/node.interface.d.ts","./node_modules/@nestjs/core/injector/settlement-signal.d.ts","./node_modules/@nestjs/core/injector/injector.d.ts","./node_modules/@nestjs/core/inspector/interfaces/serialized-graph-metadata.interface.d.ts","./node_modules/@nestjs/core/inspector/interfaces/serialized-graph-json.interface.d.ts","./node_modules/@nestjs/core/inspector/serialized-graph.d.ts","./node_modules/@nestjs/core/injector/opaque-key-factory/interfaces/module-opaque-key-factory.interface.d.ts","./node_modules/@nestjs/core/injector/compiler.d.ts","./node_modules/@nestjs/core/injector/modules-container.d.ts","./node_modules/@nestjs/core/injector/container.d.ts","./node_modules/@nestjs/core/injector/instance-links-host.d.ts","./node_modules/@nestjs/core/injector/abstract-instance-resolver.d.ts","./node_modules/@nestjs/core/injector/module-ref.d.ts","./node_modules/@nestjs/core/injector/module.d.ts","./node_modules/@nestjs/core/injector/instance-wrapper.d.ts","./node_modules/@nestjs/core/router/interfaces/exclude-route-metadata.interface.d.ts","./node_modules/@nestjs/core/application-config.d.ts","./node_modules/@nestjs/core/constants.d.ts","./node_modules/@nestjs/core/discovery/discovery-module.d.ts","./node_modules/@nestjs/core/discovery/discovery-service.d.ts","./node_modules/@nestjs/core/discovery/index.d.ts","./node_modules/@nestjs/core/helpers/http-adapter-host.d.ts","./node_modules/@nestjs/core/exceptions/base-exception-filter.d.ts","./node_modules/@nestjs/core/exceptions/index.d.ts","./node_modules/@nestjs/core/helpers/context-id-factory.d.ts","./node_modules/@nestjs/common/interfaces/exceptions/exception-filter-metadata.interface.d.ts","./node_modules/@nestjs/core/exceptions/exceptions-handler.d.ts","./node_modules/@nestjs/core/router/router-proxy.d.ts","./node_modules/@nestjs/core/helpers/context-creator.d.ts","./node_modules/@nestjs/core/exceptions/base-exception-filter-context.d.ts","./node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.d.ts","./node_modules/@nestjs/common/interfaces/exceptions/index.d.ts","./node_modules/@nestjs/core/exceptions/external-exception-filter.d.ts","./node_modules/@nestjs/core/exceptions/external-exceptions-handler.d.ts","./node_modules/@nestjs/core/exceptions/external-exception-filter-context.d.ts","./node_modules/@nestjs/core/guards/constants.d.ts","./node_modules/@nestjs/core/helpers/execution-context-host.d.ts","./node_modules/@nestjs/core/guards/guards-consumer.d.ts","./node_modules/@nestjs/core/guards/guards-context-creator.d.ts","./node_modules/@nestjs/core/guards/index.d.ts","./node_modules/@nestjs/core/interceptors/interceptors-consumer.d.ts","./node_modules/@nestjs/core/interceptors/interceptors-context-creator.d.ts","./node_modules/@nestjs/core/interceptors/index.d.ts","./node_modules/@nestjs/common/enums/route-paramtypes.enum.d.ts","./node_modules/@nestjs/core/pipes/params-token-factory.d.ts","./node_modules/@nestjs/core/pipes/pipes-consumer.d.ts","./node_modules/@nestjs/core/pipes/pipes-context-creator.d.ts","./node_modules/@nestjs/core/pipes/index.d.ts","./node_modules/@nestjs/core/helpers/context-utils.d.ts","./node_modules/@nestjs/core/injector/inquirer/inquirer-constants.d.ts","./node_modules/@nestjs/core/injector/inquirer/index.d.ts","./node_modules/@nestjs/core/interfaces/module-definition.interface.d.ts","./node_modules/@nestjs/core/interfaces/module-override.interface.d.ts","./node_modules/@nestjs/core/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts","./node_modules/@nestjs/core/inspector/graph-inspector.d.ts","./node_modules/@nestjs/core/scanner.d.ts","./node_modules/@nestjs/core/injector/instance-loader.d.ts","./node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader-options.interface.d.ts","./node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.d.ts","./node_modules/@nestjs/core/injector/index.d.ts","./node_modules/@nestjs/core/helpers/interfaces/external-handler-metadata.interface.d.ts","./node_modules/@nestjs/core/helpers/interfaces/params-metadata.interface.d.ts","./node_modules/@nestjs/core/helpers/external-context-creator.d.ts","./node_modules/@nestjs/core/helpers/index.d.ts","./node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.d.ts","./node_modules/@nestjs/core/inspector/partial-graph.host.d.ts","./node_modules/@nestjs/core/inspector/index.d.ts","./node_modules/@nestjs/core/middleware/route-info-path-extractor.d.ts","./node_modules/@nestjs/core/middleware/routes-mapper.d.ts","./node_modules/@nestjs/core/middleware/builder.d.ts","./node_modules/@nestjs/core/middleware/index.d.ts","./node_modules/@nestjs/core/nest-application-context.d.ts","./node_modules/@nestjs/core/nest-application.d.ts","./node_modules/@nestjs/common/interfaces/microservices/nest-microservice-options.interface.d.ts","./node_modules/@nestjs/core/nest-factory.d.ts","./node_modules/@nestjs/core/repl/repl.d.ts","./node_modules/@nestjs/core/repl/index.d.ts","./node_modules/@nestjs/core/router/interfaces/routes.interface.d.ts","./node_modules/@nestjs/core/router/interfaces/index.d.ts","./node_modules/@nestjs/core/router/request/request-constants.d.ts","./node_modules/@nestjs/core/router/request/index.d.ts","./node_modules/@nestjs/core/router/router-module.d.ts","./node_modules/@nestjs/core/router/index.d.ts","./node_modules/@nestjs/core/services/reflector.service.d.ts","./node_modules/@nestjs/core/services/index.d.ts","./node_modules/@nestjs/core/index.d.ts","./src/main.ts","./node_modules/@prisma/client/runtime/index-browser.d.ts","./src/generated/prisma/enums.ts","./src/generated/prisma/internal/class.ts","./src/generated/prisma/internal/prismanamespace.ts","./src/generated/prisma/models/chats.ts","./src/generated/prisma/models/cities.ts","./src/generated/prisma/models/comments.ts","./src/generated/prisma/models/countries.ts","./src/generated/prisma/models/messages.ts","./src/generated/prisma/models/payment_methods.ts","./src/generated/prisma/models/professionals.ts","./src/generated/prisma/models/professions.ts","./src/generated/prisma/models/regions.ts","./src/generated/prisma/models/reputations.ts","./src/generated/prisma/models/schedules.ts","./src/generated/prisma/models/services.ts","./src/generated/prisma/models/settings.ts","./src/generated/prisma/models/specializations.ts","./src/generated/prisma/models/users.ts","./src/generated/prisma/commoninputtypes.ts","./src/generated/prisma/models.ts","./src/generated/prisma/internal/prismanamespacebrowser.ts","./src/generated/prisma/browser.ts","./src/generated/prisma/client.ts"],"fileIdsList":[[425,489,497,501,504,506,507,508,521,561],[425,489,497,501,504,506,507,508,521,560],[425,489,497,501,504,506,507,508,521],[314,425,489,497,501,504,506,507,508,521],[414,425,489,497,501,504,506,507,508,521],[63,315,316,317,318,319,320,321,322,323,324,325,326,327,425,489,497,501,504,506,507,508,521],[266,300,425,489,497,501,504,506,507,508,521],[273,425,489,497,501,504,506,507,508,521],[263,314,414,425,489,497,501,504,506,507,508,521],[332,333,334,335,336,337,338,340,425,489,497,501,504,506,507,508,521],[268,425,489,497,501,504,506,507,508,521],[314,414,425,489,497,501,504,506,507,508,521],[268,339,425,489,497,501,504,506,507,508,521],[328,331,341,425,489,497,501,504,506,507,508,521],[329,330,425,489,497,501,504,506,507,508,521],[304,425,489,497,501,504,506,507,508,521],[268,269,270,271,425,489,497,501,504,506,507,508,521],[344,425,489,497,501,504,506,507,508,521],[286,343,425,489,497,501,504,506,507,508,521],[343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,425,489,497,501,504,506,507,508,521],[373,425,489,497,501,504,506,507,508,521],[370,371,425,489,497,501,504,506,507,508,521],[369,372,425,489,497,501,504,506,507,508,521,526],[62,272,314,342,366,369,374,381,406,411,413,425,489,497,501,504,506,507,508,521],[68,266,425,489,497,501,504,506,507,508,521],[67,425,489,497,501,504,506,507,508,521],[68,258,259,425,489,497,501,504,506,507,508,521,786,791],[258,266,425,489,497,501,504,506,507,508,521],[67,257,425,489,497,501,504,506,507,508,521],[266,394,425,489,497,501,504,506,507,508,521],[260,396,425,489,497,501,504,506,507,508,521],[257,261,425,489,497,501,504,506,507,508,521],[261,425,489,497,501,504,506,507,508,521],[67,314,425,489,497,501,504,506,507,508,521],[265,266,425,489,497,501,504,506,507,508,521],[278,425,489,497,501,504,506,507,508,521],[280,281,282,283,284,425,489,497,501,504,506,507,508,521],[272,425,489,497,501,504,506,507,508,521],[272,273,292,425,489,497,501,504,506,507,508,521],[286,287,293,294,295,425,489,497,501,504,506,507,508,521],[64,65,66,67,68,258,259,260,261,262,263,264,265,266,267,273,278,279,285,292,296,297,298,300,308,309,310,311,312,313,425,489,497,501,504,506,507,508,521],[291,425,489,497,501,504,506,507,508,521],[274,275,276,277,425,489,497,501,504,506,507,508,521],[266,274,275,425,489,497,501,504,506,507,508,521],[266,272,273,425,489,497,501,504,506,507,508,521],[266,276,425,489,497,501,504,506,507,508,521],[266,304,425,489,497,501,504,506,507,508,521],[299,301,302,303,304,305,306,307,425,489,497,501,504,506,507,508,521],[64,266,425,489,497,501,504,506,507,508,521],[300,425,489,497,501,504,506,507,508,521],[64,266,299,303,305,425,489,497,501,504,506,507,508,521],[275,425,489,497,501,504,506,507,508,521],[301,425,489,497,501,504,506,507,508,521],[266,300,301,302,425,489,497,501,504,506,507,508,521],[290,425,489,497,501,504,506,507,508,521],[266,270,290,291,308,309,425,489,497,501,504,506,507,508,521],[288,289,291,425,489,497,501,504,506,507,508,521],[262,264,273,279,293,310,311,314,425,489,497,501,504,506,507,508,521],[68,257,262,264,267,310,311,425,489,497,501,504,506,507,508,521],[271,425,489,497,501,504,506,507,508,521],[257,425,489,497,501,504,506,507,508,521],[290,314,375,379,425,489,497,501,504,506,507,508,521],[379,380,425,489,497,501,504,506,507,508,521],[314,375,425,489,497,501,504,506,507,508,521],[314,375,376,425,489,497,501,504,506,507,508,521],[376,377,425,489,497,501,504,506,507,508,521],[376,377,378,425,489,497,501,504,506,507,508,521],[267,425,489,497,501,504,506,507,508,521],[384,385,386,425,489,497,501,504,506,507,508,521],[384,425,489,497,501,504,506,507,508,521],[386,387,388,390,391,392,425,489,497,501,504,506,507,508,521],[383,425,489,497,501,504,506,507,508,521],[386,389,425,489,497,501,504,506,507,508,521],[386,387,388,390,391,425,489,497,501,504,506,507,508,521],[267,384,386,390,425,489,497,501,504,506,507,508,521],[382,393,398,399,400,401,402,403,404,405,425,489,497,501,504,506,507,508,521],[267,314,398,425,489,497,501,504,506,507,508,521],[267,389,425,489,497,501,504,506,507,508,521],[267,389,414,425,489,497,501,504,506,507,508,521],[260,266,267,389,394,395,396,397,425,489,497,501,504,506,507,508,521],[257,314,394,395,407,425,489,497,501,504,506,507,508,521],[314,394,425,489,497,501,504,506,507,508,521],[409,425,489,497,501,504,506,507,508,521],[342,407,425,489,497,501,504,506,507,508,521],[407,408,410,425,489,497,501,504,506,507,508,521],[290,425,489,497,501,504,506,507,508,521,540],[290,367,368,425,489,497,501,504,506,507,508,521],[299,425,489,497,501,504,506,507,508,521],[272,314,425,489,497,501,504,506,507,508,521],[412,425,489,497,501,504,506,507,508,521],[414,425,489,497,501,504,506,507,508,521,551],[257,416,421,425,489,497,501,504,506,507,508,521],[415,421,425,489,497,501,504,506,507,508,521,551,552,553,556],[421,425,489,497,501,504,506,507,508,521],[422,425,489,497,501,504,506,507,508,521,549],[416,422,425,489,497,501,504,506,507,508,521,550],[417,418,419,420,425,489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,554,555],[421,425,489,497,501,504,506,507,508,521,551,557],[425,489,497,501,504,506,507,508,521,557],[292,314,414,425,489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,734],[314,414,425,489,497,501,504,506,507,508,521,775,776],[339,425,489,497,501,504,506,507,508,521],[414,425,489,497,501,504,506,507,508,521,769,774,775],[425,489,497,501,504,506,507,508,521,779,780],[68,314,425,489,497,501,504,506,507,508,521,770,775,789],[414,425,489,497,501,504,506,507,508,521,757,782],[67,414,425,489,497,501,504,506,507,508,521,783,786],[314,425,489,497,501,504,506,507,508,521,770,775,777,788,790,794],[67,425,489,497,501,504,506,507,508,521,792,793],[425,489,497,501,504,506,507,508,521,783],[257,314,414,425,489,497,501,504,506,507,508,521,797],[314,414,425,489,497,501,504,506,507,508,521,770,775,777,789],[425,489,497,501,504,506,507,508,521,796,798,799],[314,425,489,497,501,504,506,507,508,521,775],[425,489,497,501,504,506,507,508,521,775],[314,414,425,489,497,501,504,506,507,508,521,797],[67,314,414,425,489,497,501,504,506,507,508,521],[314,414,425,489,497,501,504,506,507,508,521,769,770,775,795,797,800,803,808,809,821,822],[257,425,489,497,501,504,506,507,508,521,734],[425,489,497,501,504,506,507,508,521,782,785,823],[425,489,497,501,504,506,507,508,521,809,820],[62,425,489,497,501,504,506,507,508,521,689,757,777,778,781,784,820,824,827,831,832,833,835,837,843,845],[314,414,425,489,497,501,504,506,507,508,521,763,771,774,775],[314,425,489,497,501,504,506,507,508,521,767],[291,314,339,414,425,489,497,501,504,506,507,508,521,766,767,768,769,774,775,777,846],[425,489,497,501,504,506,507,508,521,769,770,773,775,811,819],[314,414,425,489,497,501,504,506,507,508,521,762,774,775],[425,489,497,501,504,506,507,508,521,810],[414,425,489,497,501,504,506,507,508,521,770,775],[414,425,489,497,501,504,506,507,508,521,763,770,774,815],[314,339,414,425,489,497,501,504,506,507,508,521,762,774],[414,425,489,497,501,504,506,507,508,521,768,769,773,813,816,817,818],[414,425,489,497,501,504,506,507,508,521,763,770,771,772,774,775],[314,339,425,489,497,501,504,506,507,508,521,770,773,775],[257,425,489,497,501,504,506,507,508,521,774],[266,299,305,425,489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,759,760,761,770,774,775,814],[425,489,497,501,504,506,507,508,521,766,815,825,826],[339,414,425,489,497,501,504,506,507,508,521,775],[339,414,425,489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,758,759,760,761,764,766],[425,489,497,501,504,506,507,508,521,763],[425,489,497,501,504,506,507,508,521,765,766],[414,425,489,497,501,504,506,507,508,521,758,759,760,761,764,765],[425,489,497,501,504,506,507,508,521,801,802],[314,425,489,497,501,504,506,507,508,521,770,775,777,789],[425,489,497,501,504,506,507,508,521,812],[297,425,489,497,501,504,506,507,508,521],[278,314,425,489,497,501,504,506,507,508,521,828,829],[425,489,497,501,504,506,507,508,521,830],[314,425,489,497,501,504,506,507,508,521,777],[314,425,489,497,501,504,506,507,508,521,770,777],[291,314,414,425,489,497,501,504,506,507,508,521,763,770,771,772,774,775],[290,314,414,425,489,497,501,504,506,507,508,521,757,770,777,815,832],[291,292,414,425,489,497,501,504,506,507,508,521,734,834],[425,489,497,501,504,506,507,508,521,805,806,807],[414,425,489,497,501,504,506,507,508,521,804],[425,489,497,501,504,506,507,508,521,836],[414,425,489,497,501,504,506,507,508,521,523],[425,489,497,501,504,506,507,508,521,839,841,842],[425,489,497,501,504,506,507,508,521,838],[425,489,497,501,504,506,507,508,521,840],[414,425,489,497,501,504,506,507,508,521,769,774,839],[425,489,497,501,504,506,507,508,521,787],[314,339,414,425,489,497,501,504,506,507,508,521,689,770,774,775,777,812,813,815],[425,489,497,501,504,506,507,508,521,844],[425,489,497,501,504,506,507,508,521,567,569,570,571,572],[425,489,497,501,504,506,507,508,521,568],[414,425,489,497,501,504,506,507,508,521,567],[414,425,489,497,501,504,506,507,508,521,568],[425,489,497,501,504,506,507,508,521,567,569],[425,489,497,501,504,506,507,508,521,573],[414,425,489,497,501,504,506,507,508,521,576,578],[425,489,497,501,504,506,507,508,521,575,578,579,580,591,592],[425,489,497,501,504,506,507,508,521,576,577],[414,425,489,497,501,504,506,507,508,521,576],[425,489,497,501,504,506,507,508,521,590],[425,489,497,501,504,506,507,508,521,578],[425,489,497,501,504,506,507,508,521,593],[288,292,314,414,425,489,497,501,503,504,505,506,507,508,521,589,734,735,736,737],[425,489,497,501,504,506,507,508,521,738],[425,489,497,501,504,506,507,508,521,739,741,752],[425,489,497,501,504,506,507,508,521,735,736,740],[288,414,425,489,497,501,503,504,505,506,507,508,521,589,735,736,737],[425,489,497,501,503,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,748,750,751],[414,425,489,497,501,504,506,507,508,521,742],[425,489,497,501,504,506,507,508,521,743,744,745,746,747],[314,425,489,497,501,504,506,507,508,521,742],[425,489,497,501,504,506,507,508,521,749],[414,425,489,497,501,504,506,507,508,521,749],[414,425,489,497,501,504,506,507,508,521,600,601],[425,489,497,501,504,506,507,508,521,625],[425,489,497,501,504,506,507,508,521,600,601],[425,489,497,501,504,506,507,508,521,600],[414,425,489,497,501,504,506,507,508,521,600,601,615],[414,425,489,497,501,504,506,507,508,521,615,618],[414,425,489,497,501,504,506,507,508,521,600],[425,489,497,501,504,506,507,508,521,618],[425,489,497,501,504,506,507,508,521,598,599,602,603,604,605,606,607,608,609,610,611,612,613,614,616,617,619,620,621,622,623,624,626,627,628],[425,489,497,501,504,506,507,508,521,600,622,633],[62,425,489,497,501,504,506,507,508,521,629,633,634,635,641,644,645],[425,489,497,501,504,506,507,508,521,600,631,632],[414,425,489,497,501,504,506,507,508,521,600,615],[425,489,497,501,504,506,507,508,521,600,630],[293,414,425,489,497,501,504,506,507,508,521,633],[425,489,497,501,504,506,507,508,521,636,637,638,639,640],[425,489,497,501,504,506,507,508,521,642,643],[425,489,497,501,504,506,507,508,521,667],[257,314,414,425,489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,669,670,671,681,682,683],[425,489,497,501,504,506,507,508,521,680],[425,489,497,501,504,506,507,508,521,685],[425,489,497,501,504,506,507,508,521,687],[257,425,489,497,501,504,506,507,508,521,689,690],[62,425,489,497,501,504,506,507,508,521,668,680,684,686,688,691],[288,425,489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,673,674,675],[425,489,497,501,504,506,507,508,521,672,676,677,678,679],[425,489,497,501,504,506,507,508,521,562],[425,489,497,501,504,506,507,508,521,559],[425,489,497,501,503,504,506,507,508,521,548,587],[425,489,497,501,503,504,506,507,508,521,548],[425,489,497,500,501,503,504,506,507,508,521,548,581,582,583],[425,489,497,501,504,506,507,508,521,584,586,588],[425,489,494,497,501,504,506,507,508,521,548,566],[425,486,487,489,497,501,504,506,507,508,521],[425,488,489,497,501,504,506,507,508,521],[489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,530],[425,489,490,495,497,500,501,504,506,507,508,510,521,526,539],[425,489,490,491,497,500,501,504,506,507,508,521],[425,489,492,497,501,504,506,507,508,521,540],[425,489,493,494,497,501,504,506,507,508,512,521],[425,489,494,497,501,504,506,507,508,521,526,536],[425,489,495,497,500,501,504,506,507,508,510,521],[425,488,489,496,497,501,504,506,507,508,521],[425,489,497,498,501,504,506,507,508,521],[425,489,497,499,500,501,504,506,507,508,521],[425,488,489,497,500,501,504,506,507,508,521],[425,489,497,500,501,502,504,506,507,508,521,526,539],[425,489,497,500,501,502,504,506,507,508,521,526,528,530],[425,476,489,497,500,501,503,504,506,507,508,510,521,526,539],[425,489,497,500,501,503,504,506,507,508,510,521,526,536,539],[425,489,497,501,503,504,505,506,507,508,521,526,536,539],[423,424,425,426,427,428,429,430,431,432,433,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547],[425,489,497,500,501,504,506,507,508,521],[425,489,497,501,504,506,508,521],[425,489,497,501,504,506,507,508,509,521,539],[425,489,497,500,501,504,506,507,508,510,521,526],[425,489,497,501,504,506,507,508,512,521],[425,489,497,501,504,506,507,508,513,521],[425,489,497,500,501,504,506,507,508,516,521],[425,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546],[425,489,497,501,504,506,507,508,518,521],[425,489,497,501,504,506,507,508,519,521],[425,489,494,497,501,504,506,507,508,510,521,530],[425,489,497,500,501,504,506,507,508,521,522],[425,489,497,501,504,506,507,508,521,523,540,543],[425,489,497,500,501,504,506,507,508,521,526,529,530],[425,489,497,501,504,506,507,508,521,527,530],[425,489,497,501,504,506,507,508,521,528],[425,489,497,501,504,506,507,508,521,530,540],[425,489,497,501,504,506,507,508,521,531],[425,486,489,497,501,504,506,507,508,521,526,533,539],[425,489,497,501,504,506,507,508,521,526,532],[425,489,497,500,501,504,506,507,508,521,534,535],[425,489,497,501,504,506,507,508,521,534,535],[425,489,494,497,501,504,506,507,508,510,521,526,536],[425,489,497,501,504,506,507,508,521,537],[425,489,497,501,504,506,507,508,510,521,538],[425,489,497,501,503,504,506,507,508,519,521,539],[425,489,497,501,504,506,507,508,521,540,541],[425,489,494,497,501,504,506,507,508,521,541],[425,489,497,501,504,506,507,508,521,526,542],[425,489,497,501,504,506,507,508,509,521,543],[425,489,497,501,504,506,507,508,521,544],[425,489,492,497,501,504,506,507,508,521],[425,489,494,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,540],[425,476,489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,539],[425,489,497,501,504,506,507,508,521,545],[425,489,497,501,504,506,507,508,516,521],[425,489,497,501,504,506,507,508,521,535],[425,476,489,497,500,501,502,504,506,507,508,516,521,526,530,539,542,543,545],[425,489,497,501,504,506,507,508,521,526,546],[425,489,497,501,504,506,507,508,521,528,547],[425,489,497,501,504,506,507,508,521,567,649],[425,489,497,501,504,506,507,508,521,589,590],[425,489,497,501,503,504,506,507,508,521,589],[425,489,497,501,504,506,507,508,521,526,548],[425,489,497,501,503,504,506,507,508,521,548,585],[425,489,497,500,501,503,504,505,506,507,508,510,521,526,536,539,546,548],[425,489,497,501,504,506,507,508,521,595],[425,489,497,501,504,506,507,508,521,548],[425,489,497,501,504,506,507,508,521,693],[425,489,497,501,504,506,507,508,521,693,694,695],[425,489,497,501,503,504,506,507,508,521,696,699,700,703,707,708],[425,489,497,500,501,503,504,506,507,508,521,526,698,699,700,701,702],[425,489,497,500,501,503,504,506,507,508,521,696,699,703],[425,489,497,500,501,503,504,506,507,508,521,696,697,698],[425,489,497,501,504,506,507,508,521,699,704,705,706],[425,489,497,501,504,506,507,508,521,696,699],[425,489,497,501,504,506,507,508,521,696,698,699],[425,489,497,501,504,506,507,508,521,699],[425,489,497,501,504,506,507,508,521,699,703],[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,138,139,140,141,142,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,192,201,203,204,205,206,207,208,210,211,213,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,425,489,497,501,504,506,507,508,521],[114,425,489,497,501,504,506,507,508,521],[70,73,425,489,497,501,504,506,507,508,521],[72,425,489,497,501,504,506,507,508,521],[72,73,425,489,497,501,504,506,507,508,521],[69,70,71,73,425,489,497,501,504,506,507,508,521],[70,72,73,230,425,489,497,501,504,506,507,508,521],[73,425,489,497,501,504,506,507,508,521],[69,72,114,425,489,497,501,504,506,507,508,521],[72,73,230,425,489,497,501,504,506,507,508,521],[72,238,425,489,497,501,504,506,507,508,521],[70,72,73,425,489,497,501,504,506,507,508,521],[82,425,489,497,501,504,506,507,508,521],[105,425,489,497,501,504,506,507,508,521],[126,425,489,497,501,504,506,507,508,521],[72,73,114,425,489,497,501,504,506,507,508,521],[73,121,425,489,497,501,504,506,507,508,521],[72,73,114,132,425,489,497,501,504,506,507,508,521],[72,73,132,425,489,497,501,504,506,507,508,521],[73,173,425,489,497,501,504,506,507,508,521],[73,114,425,489,497,501,504,506,507,508,521],[69,73,191,425,489,497,501,504,506,507,508,521],[69,73,192,425,489,497,501,504,506,507,508,521],[214,425,489,497,501,504,506,507,508,521],[198,200,425,489,497,501,504,506,507,508,521],[209,425,489,497,501,504,506,507,508,521],[198,425,489,497,501,504,506,507,508,521],[69,73,191,198,199,425,489,497,501,504,506,507,508,521],[191,192,200,425,489,497,501,504,506,507,508,521],[212,425,489,497,501,504,506,507,508,521],[69,73,198,199,200,425,489,497,501,504,506,507,508,521],[71,72,73,425,489,497,501,504,506,507,508,521],[69,73,425,489,497,501,504,506,507,508,521],[70,72,192,193,194,195,425,489,497,501,504,506,507,508,521],[114,192,193,194,195,425,489,497,501,504,506,507,508,521],[192,194,425,489,497,501,504,506,507,508,521],[72,193,194,196,197,201,425,489,497,501,504,506,507,508,521],[69,72,425,489,497,501,504,506,507,508,521],[73,216,425,489,497,501,504,506,507,508,521],[74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,425,489,497,501,504,506,507,508,521],[202,425,489,497,501,504,506,507,508,521],[425,489,497,501,504,506,507,508,521,714],[425,489,497,501,504,506,507,508,521,714,715],[425,489,497,501,504,506,507,508,521,710],[425,489,497,501,504,506,507,508,521,712,716,717],[425,489,497,501,503,504,506,507,508,521,709,711,712,719,721],[425,489,497,501,503,504,505,506,507,508,521,709,711,712,716,717,718,719,720],[425,489,497,501,504,506,507,508,521,712,713,716,718,719,721],[425,489,497,501,503,504,506,507,508,519,521],[425,489,497,501,503,504,506,507,508,521,709,711,712,713,716,717,718,720],[425,440,443,446,447,489,497,501,504,506,507,508,521,539],[425,443,489,497,501,504,506,507,508,521,526,539],[425,443,447,489,497,501,504,506,507,508,521,539],[425,489,497,501,504,506,507,508,521,526],[425,437,489,497,501,504,506,507,508,521],[425,441,489,497,501,504,506,507,508,521],[425,439,440,443,489,497,501,504,506,507,508,521,539],[425,489,497,501,504,506,507,508,510,521,536],[425,437,489,497,501,504,506,507,508,521,548],[425,439,443,489,497,501,504,506,507,508,510,521,539],[425,434,435,436,438,442,489,497,500,501,504,506,507,508,521,526,539],[425,443,452,460,489,497,501,504,506,507,508,521],[425,435,441,489,497,501,504,506,507,508,521],[425,443,470,471,489,497,501,504,506,507,508,521],[425,435,438,443,489,497,501,504,506,507,508,521,530,539,548],[425,443,489,497,501,504,506,507,508,521],[425,439,443,489,497,501,504,506,507,508,521,539],[425,434,489,497,501,504,506,507,508,521],[425,437,438,439,441,442,443,444,445,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,471,472,473,474,475,489,497,501,504,506,507,508,521],[425,443,463,466,489,497,501,504,506,507,508,521],[425,443,452,453,454,489,497,501,504,506,507,508,521],[425,441,443,453,455,489,497,501,504,506,507,508,521],[425,442,489,497,501,504,506,507,508,521],[425,435,437,443,489,497,501,504,506,507,508,521],[425,443,447,453,455,489,497,501,504,506,507,508,521],[425,447,489,497,501,504,506,507,508,521],[425,441,443,446,489,497,501,504,506,507,508,521,539],[425,435,439,443,452,489,497,501,504,506,507,508,521],[425,443,463,489,497,501,504,506,507,508,521],[425,455,489,497,501,504,506,507,508,521],[425,435,439,443,447,489,497,501,504,506,507,508,521],[425,437,443,470,489,497,501,504,506,507,508,521,530,545,548],[59,60,425,489,497,501,504,506,507,508,521],[414,425,489,497,501,504,506,507,508,521,558,565,652,655,658,661,664,723,726,729,732,755],[414,425,489,497,501,504,506,507,508,521,597,646,647],[414,425,489,497,501,504,506,507,508,521,574,594,597,648,651],[414,425,489,497,501,504,506,507,508,521,564,574,596],[414,425,489,497,501,504,506,507,508,521,594],[414,425,489,497,501,504,506,507,508,521,564,594,650],[414,425,489,497,501,504,506,507,508,521,646,647,665],[425,489,497,501,504,506,507,508,521,564,665,692,721],[414,425,489,497,501,504,506,507,508,521,665,666,722],[414,425,489,497,501,504,506,507,508,521,564],[414,425,489,497,501,504,506,507,508,521,646,647,662],[414,425,489,497,501,504,506,507,508,521,662,663],[425,489,497,501,504,506,507,508,521,849,869],[425,489,497,501,504,506,507,508,513,517,521,560,849,850,851],[425,489,497,501,504,506,507,508,521,560,849,851],[425,489,497,501,504,506,507,508,521,560,851],[425,489,497,501,504,506,507,508,521,560,850,868],[425,489,497,501,504,506,507,508,521,848,851,868],[425,489,497,501,504,506,507,508,521,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867],[414,425,489,497,501,504,506,507,508,521,646,724],[414,425,489,497,501,504,506,507,508,521,724,725],[414,425,489,497,501,504,506,507,508,521,646,756,846],[414,425,489,497,501,504,506,507,508,521,563],[414,425,489,497,501,504,506,507,508,521,646,647,656],[414,425,489,497,501,504,506,507,508,521,656,657],[414,425,489,497,501,504,506,507,508,521,646,730],[414,425,489,497,501,504,506,507,508,521,730,731],[414,425,489,497,501,504,506,507,508,521,646,647,659],[414,425,489,497,501,504,506,507,508,521,659,660],[414,425,489,497,501,504,506,507,508,521,646,727],[414,425,489,497,501,504,506,507,508,521,727,728],[414,425,489,497,501,504,506,507,508,521,646,647,733,753],[414,425,489,497,501,504,506,507,508,521,733,754],[414,425,489,497,501,504,506,507,508,521,646,647,653],[414,425,489,497,501,504,506,507,508,521,653,654]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4a70ead7fea07d9abe520cc9e30c04ac035ebceaab28f9e67211610006c65de","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"ce156ed1e82e1a9e4ceef49d98c510638bfa290142ec17ddd0a295871e58af17","impliedFormat":1},"8c6629d3a6f36715b1324431569f1fa65e10d84dcc82e87967a1aa1c5f4a9da4",{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d8dedbec739bc79642c1e96e9bfc0b83b25b104a0486aebf016fc7b85b39f48","impliedFormat":1},{"version":"e89535c3ec439608bcd0f68af555d0e5ddf121c54abe69343549718bd7506b9c","impliedFormat":1},{"version":"622a984b60c294ffb2f9152cf1d4d12e91d2b733d820eec949cf54d63a3c1025","impliedFormat":1},{"version":"81aae92abdeaccd9c1723cef39232c90c1aed9d9cf199e6e2a523b7d8e058a11","impliedFormat":1},{"version":"a63a6c6806a1e519688ef7bd8ca57be912fc0764485119dbd923021eb4e79665","impliedFormat":1},{"version":"75b57b109d774acca1e151df21cf5cb54c7a1df33a273f0457b9aee4ebd36fb9","impliedFormat":1},{"version":"073ca26c96184db9941b5ec0ddea6981c9b816156d9095747809e524fdd90e35","impliedFormat":1},{"version":"e41d17a2ec23306d953cda34e573ed62954ca6ea9b8c8b74e013d07a6886ce47","impliedFormat":1},{"version":"241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","impliedFormat":1},{"version":"2ae3787e1498b20aad1b9c2ee9ea517ec30e89b70d242d8e3e52d1e091039695","impliedFormat":1},{"version":"c7c72c4cffb1bc83617eefed71ed68cc89df73cab9e19507ccdecb3e72b4967e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","impliedFormat":1},{"version":"38b38db08e7121828294dec10957a7a9ff263e33e2a904b346516d4a4acca482","impliedFormat":1},{"version":"a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","impliedFormat":1},{"version":"8a2aaea564939c22be05d665cc955996721bad6d43148f8fa21ae8f64afecd37","impliedFormat":1},{"version":"e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","impliedFormat":1},{"version":"e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","impliedFormat":1},{"version":"95950a187596e206d32d5d9c7b932901088c65ed8f9040e614aa8e321e0225ef","impliedFormat":1},{"version":"89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","impliedFormat":1},{"version":"e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","impliedFormat":1},{"version":"71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","impliedFormat":1},{"version":"7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","impliedFormat":1},{"version":"78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","impliedFormat":1},{"version":"5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","impliedFormat":1},{"version":"f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","impliedFormat":1},{"version":"9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","impliedFormat":1},{"version":"3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","impliedFormat":1},{"version":"2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","impliedFormat":1},{"version":"4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","impliedFormat":1},{"version":"61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","impliedFormat":1},{"version":"64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","impliedFormat":1},{"version":"0521108c9f8ddb17654a0a54dae6ba9667c99eddccfd6af5748113e022d1c37a","impliedFormat":1},{"version":"c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","impliedFormat":1},{"version":"ee764e6e9a7f2b987cc1a2c0a9afd7a8f4d5ebc4fdb66ad557a7f14a8c2bd320","impliedFormat":1},{"version":"0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","impliedFormat":1},{"version":"5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","impliedFormat":1},{"version":"e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","impliedFormat":1},{"version":"b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","impliedFormat":1},{"version":"6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","impliedFormat":1},{"version":"d7058e75920120b142a9d57be25562a3cd9a936269fd52908505f530105f2ec4","impliedFormat":1},{"version":"6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","impliedFormat":1},{"version":"0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","impliedFormat":1},{"version":"91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","impliedFormat":1},{"version":"db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","impliedFormat":1},{"version":"758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","impliedFormat":1},{"version":"2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","impliedFormat":1},{"version":"6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","impliedFormat":1},{"version":"a472a1d3f25ce13a1d44911cd3983956ac040ce2018e155435ea34afb25f864c","impliedFormat":1},{"version":"b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","impliedFormat":1},{"version":"792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","impliedFormat":1},{"version":"a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","impliedFormat":1},{"version":"93181bac0d90db185bb730c95214f6118ae997fe836a98a49664147fbcaf1988","impliedFormat":1},{"version":"8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","impliedFormat":1},{"version":"b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","impliedFormat":1},{"version":"4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","impliedFormat":1},{"version":"cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","impliedFormat":1},{"version":"75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","impliedFormat":1},{"version":"b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","impliedFormat":1},{"version":"c54166a85bd60f86d1ebb90ce0117c0ecb850b8a33b366691629fdf26f1bbbd8","impliedFormat":1},{"version":"0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","impliedFormat":1},{"version":"80f23f1d60fbed356f726b3b26f9d348dddbb34027926d10d59fad961e70a730","impliedFormat":1},{"version":"cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","impliedFormat":1},{"version":"cc20bb2227dd5de0aab0c8d697d1572f8000550e62c7bf5c92f212f657dd88c5","impliedFormat":1},{"version":"06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","impliedFormat":1},{"version":"860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","impliedFormat":1},{"version":"f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","impliedFormat":1},{"version":"d0da80c845999a16c24d0783033fb5366ada98df17867c98ad433ede05cd87fd","impliedFormat":1},{"version":"bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","impliedFormat":1},{"version":"fd9a991b51870325e46ebb0e6e18722d313f60cd8e596e645ec5ac15b96dbf4e","impliedFormat":1},{"version":"c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","impliedFormat":1},{"version":"a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","impliedFormat":1},{"version":"d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","impliedFormat":1},{"version":"fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","impliedFormat":1},{"version":"063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","impliedFormat":1},{"version":"314e402cd481370d08f63051ae8b8c8e6370db5ee3b8820eeeaaf8d722a6dac6","impliedFormat":1},{"version":"9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","impliedFormat":1},{"version":"4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","impliedFormat":1},{"version":"656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","impliedFormat":1},{"version":"3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","impliedFormat":1},{"version":"1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","impliedFormat":1},{"version":"af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","impliedFormat":1},{"version":"70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","impliedFormat":1},{"version":"af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","impliedFormat":1},{"version":"cefc20054d20b85b534206dbcedd509bb74f87f3d8bc45c58c7be3a76caa45e1","impliedFormat":1},{"version":"ad6eee4877d0f7e5244d34bc5026fd6e9cf8e66c5c79416b73f9f6ebf132f924","impliedFormat":1},{"version":"4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","impliedFormat":1},{"version":"f4749c102ced952aa6f40f0b579865429c4869f6d83df91000e98005476bee87","impliedFormat":1},{"version":"56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","impliedFormat":1},{"version":"8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","impliedFormat":1},{"version":"05f56cd4b929977d18df8f3d08a4c929a2592ef5af083e79974b20a063f30940","impliedFormat":1},{"version":"547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","impliedFormat":1},{"version":"b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","impliedFormat":1},{"version":"3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","impliedFormat":1},{"version":"140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","impliedFormat":1},{"version":"0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","impliedFormat":1},{"version":"cb46b38d5e791acaa243bf342b8b5f8491639847463ac965b93896d4fb0af0d9","impliedFormat":1},{"version":"7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","impliedFormat":1},{"version":"af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","impliedFormat":1},{"version":"006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","impliedFormat":1},{"version":"7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","impliedFormat":1},{"version":"339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","impliedFormat":1},{"version":"34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","impliedFormat":1},{"version":"9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","impliedFormat":1},{"version":"18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","impliedFormat":1},{"version":"5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","impliedFormat":1},{"version":"5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","impliedFormat":1},{"version":"907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","impliedFormat":1},{"version":"ce60a562cd2a92f37a88f2ddd99a3abfbc5848d7baf38c48fb8d3243701fcb75","impliedFormat":1},{"version":"a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","impliedFormat":1},{"version":"f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","impliedFormat":1},{"version":"75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","impliedFormat":1},{"version":"9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","impliedFormat":1},{"version":"b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","impliedFormat":1},{"version":"b6e2b0448ced813b8c207810d96551a26e7d7bb73255eea4b9701698f78846d6","impliedFormat":1},{"version":"8ae10cd85c1bd94d2f2d17c4cbd25c068a4b2471c70c2d96434239f97040747a","impliedFormat":1},{"version":"9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","impliedFormat":1},{"version":"b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","impliedFormat":1},{"version":"e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","impliedFormat":1},{"version":"ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","impliedFormat":1},{"version":"8776a368617ce51129b74db7d55c3373dadcce5d0701e61d106e99998922a239","impliedFormat":1},{"version":"5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","impliedFormat":1},{"version":"9108ab5af05418f599ab48186193b1b07034c79a4a212a7f73535903ba4ca249","impliedFormat":1},{"version":"bb4e2cdcadf9c9e6ee2820af23cee6582d47c9c9c13b0dca1baaffe01fbbcb5f","impliedFormat":1},{"version":"6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","impliedFormat":1},{"version":"423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","impliedFormat":1},{"version":"fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","impliedFormat":1},{"version":"2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","impliedFormat":1},{"version":"c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","impliedFormat":1},{"version":"02ae43d5bae42efcd5a00d3923e764895ce056bca005a9f4e623aa6b4797c8af","impliedFormat":1},{"version":"db6e01f17012a9d7b610ae764f94a1af850f5d98c9c826ad61747dca0fb800bd","impliedFormat":1},{"version":"8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","impliedFormat":1},{"version":"24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","impliedFormat":1},{"version":"33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","impliedFormat":1},{"version":"0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","impliedFormat":1},{"version":"16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","impliedFormat":1},{"version":"8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","impliedFormat":1},{"version":"d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","impliedFormat":1},{"version":"97f9169882d393e6f303f570168ca86b5fe9aab556e9a43672dae7e6bb8e6495","impliedFormat":1},{"version":"7c9adb3fcd7851497818120b7e151465406e711d6a596a71b807f3a17853cb58","impliedFormat":1},{"version":"6752d402f9282dd6f6317c8c048aaaac27295739a166eed27e00391b358fed9a","impliedFormat":1},{"version":"9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","impliedFormat":1},{"version":"fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","impliedFormat":1},{"version":"85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","impliedFormat":1},{"version":"84794e3abd045880e0fadcf062b648faf982aa80cfc56d28d80120e298178626","impliedFormat":1},{"version":"053d8b827286a16a669a36ffc8ccc8acdf8cc154c096610aa12348b8c493c7b8","impliedFormat":1},{"version":"3cce4ce031710970fe12d4f7834375f5fd455aa129af4c11eb787935923ff551","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","impliedFormat":1},{"version":"c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","impliedFormat":1},{"version":"ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","impliedFormat":1},{"version":"a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","impliedFormat":1},{"version":"aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","impliedFormat":1},{"version":"0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","impliedFormat":1},{"version":"40f06693e2e3e58526b713c937895c02e113552dc8ba81ecd49cdd9596567ddb","impliedFormat":1},{"version":"4ed5e1992aedb174fb8f5aa8796aa6d4dcb8bd819b4af1b162a222b680a37fa0","impliedFormat":1},{"version":"d7f4bd46a8b97232ea6f8c28012b8d2b995e55e729d11405f159d3e00c51420a","impliedFormat":1},{"version":"d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","impliedFormat":1},{"version":"e4f4f9cf1e3ac9fd91ada072e4d428ecbf0aa6dc57138fb797b8a0ca3a1d521c","impliedFormat":1},{"version":"12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","impliedFormat":1},{"version":"340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","impliedFormat":1},{"version":"c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","impliedFormat":1},{"version":"7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","impliedFormat":1},{"version":"5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","impliedFormat":1},{"version":"9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","impliedFormat":1},{"version":"1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","impliedFormat":1},{"version":"8018dd2e95e7ce6e613ddd81672a54532614dc745520a2f9e3860ff7fb1be0ca","impliedFormat":1},{"version":"b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","impliedFormat":1},{"version":"0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","impliedFormat":1},{"version":"3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","impliedFormat":1},{"version":"032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","impliedFormat":1},{"version":"69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","impliedFormat":1},{"version":"0e704ee6e9fd8b6a5a7167886f4d8915f4bc22ed79f19cb7b32bd28458f50643","impliedFormat":1},{"version":"06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","impliedFormat":1},{"version":"904a96f84b1bcee9a7f0f258d17f8692e6652a0390566515fe6741a5c6db8c1c","impliedFormat":1},{"version":"11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","impliedFormat":1},{"version":"2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","impliedFormat":1},{"version":"1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","impliedFormat":1},{"version":"1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","impliedFormat":1},{"version":"07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","impliedFormat":1},{"version":"619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","impliedFormat":1},{"version":"f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","impliedFormat":1},{"version":"f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","impliedFormat":1},{"version":"350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","impliedFormat":1},{"version":"eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","impliedFormat":1},{"version":"45b74185005ed45bec3f07cac6e4d68eaf02ead9ff5a66721679fb28020e5e7c","impliedFormat":1},{"version":"0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","impliedFormat":1},{"version":"c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","impliedFormat":1},{"version":"5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","impliedFormat":1},{"version":"ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","impliedFormat":1},{"version":"795a08ae4e193f345073b49f68826ab6a9b280400b440906e4ec5c237ae777e6","impliedFormat":1},{"version":"8153df63cf65122809db17128e5918f59d6bb43a371b5218f4430c4585f64085","impliedFormat":1},{"version":"a8150bc382dd12ce58e00764d2366e1d59a590288ee3123af8a4a2cb4ef7f9df","impliedFormat":1},{"version":"5adfaf2f9f33957264ad199a186456a4676b2724ed700fc313ff945d03372169","impliedFormat":1},{"version":"d5c41a741cd408c34cb91f84468f70e9bda3dfeabf33251a61039b3cdb8b22d8","impliedFormat":1},{"version":"a20c3e0fe86a1d8fc500a0e9afec9a872ad3ab5b746ceb3dd7118c6d2bff4328","impliedFormat":1},{"version":"cbaf4a4aa8a8c02aa681c5870d5c69127974de29b7e01df570edec391a417959","impliedFormat":1},{"version":"c7135e329a18b0e712378d5c7bc2faec6f5ab0e955ea0002250f9e232af8b3e4","impliedFormat":1},{"version":"340a45cd77b41d8a6deda248167fa23d3dc67ec798d411bd282f7b3d555b1695","impliedFormat":1},{"version":"fae330f86bc10db6841b310f32367aaa6f553036a3afc426e0389ddc5566cd74","impliedFormat":1},{"version":"2bee1efe53481e93bb8b31736caba17353e7bb6fc04520bd312f4e344afd92f9","impliedFormat":1},{"version":"357b67529139e293a0814cb5b980c3487717c6fbf7c30934d67bc42dad316871","impliedFormat":1},{"version":"99d99a765426accf8133737843fb024a154dc6545fc0ffbba968a7c0b848959d","impliedFormat":1},{"version":"c782c5fd5fa5491c827ecade05c3af3351201dd1c7e77e06711c8029b7a9ee4d","impliedFormat":1},{"version":"883d2104e448bb351c49dd9689a7e8117b480b614b2622732655cef03021bf6d","impliedFormat":1},{"version":"d9b00ee2eca9b149663fdba1c1956331841ae296ee03eaaff6c5becbc0ff1ea8","impliedFormat":1},{"version":"09a7e04beb0547c43270b327c067c85a4e2154372417390731dfe092c4350998","impliedFormat":1},{"version":"eee530aaa93e9ec362e3941ee8355e2d073c7b21d88c2af4713e3d701dab8fef","impliedFormat":1},{"version":"28d47319b97dbeee9130b78eae03b2061d46dedbf92b0d9de13ed7ab8399ccd0","impliedFormat":1},{"version":"6559a36671052ca93cab9a289279a6cef6f9d1a72c34c34546a8848274a9c66c","impliedFormat":1},{"version":"7a0e4cd92545ad03910fd019ae9838718643bd4dde39881c745f236914901dfa","impliedFormat":1},{"version":"c99ebd20316217e349004ee1a0bc74d32d041fb6864093f10f31984c737b8cad","impliedFormat":1},{"version":"6f622e7f054f5ab86258362ac0a64a2d6a27f1e88732d6f5f052f422e08a70e7","impliedFormat":1},{"version":"d62d2ef93ceeb41cf9dfab25989a1e5f9ca5160741aac7f1453c69a6c14c69be","impliedFormat":1},{"version":"1491e80d72873fc586605283f2d9056ee59b166333a769e64378240df130d1c9","impliedFormat":1},{"version":"c32c073d389cfaa3b3e562423e16c2e6d26b8edebbb7d73ccffff4aa66f2171d","impliedFormat":1},{"version":"eca72bf229eecadb63e758613c62fab13815879053539a22477d83a48a21cd73","impliedFormat":1},{"version":"633db46fd1765736409a4767bfc670861468dde60dbb9a501fba4c1b72f8644d","impliedFormat":1},{"version":"f379412f2c0dddd193ff66dcdd9d9cc169162e441d86804c98c84423f993aa8a","impliedFormat":1},{"version":"f2ee748883723aa9325e5d7f30fce424f6a786706e1b91a5a55237c78ee89c4a","impliedFormat":1},{"version":"eda4760e5d7b171132265e970b67c322bcfffacb84248f44def26ed160eb722e","impliedFormat":1},{"version":"142f5190d730259339be1433931c0eb31ae7c7806f4e325f8a470bd9221b6533","impliedFormat":1},{"version":"cbd19f594f0ee7beffeb37dc0367af3908815acf4ce46d86b0515478718cfed8","impliedFormat":1},{"version":"3cdb96f128133efd129c798ac11f959e59d278ae439f69983224774d79ed11db","impliedFormat":1},{"version":"8776e64e6165838ac152fa949456732755b0976d1867ae5534ce248f0ccd7f41","impliedFormat":1},{"version":"896bbc7402b3a403cda96813c8ea595470ff76d31f32869d053317c00ca2589a","impliedFormat":1},{"version":"5c4c5b49bbb01828402bb04af1d71673b18852c11b7e95bfd5cf4c3d80d352c8","impliedFormat":1},{"version":"7030df3d920343df00324df59dc93a959a33e0f4940af3fefef8c07b7ee329bf","impliedFormat":1},{"version":"a96bc00e0c356e29e620eaec24a56d6dd7f4e304feefcc99066a1141c6fe05a7","impliedFormat":1},{"version":"d12cc0e5b09943c4cd0848f787eb9d07bf78b60798e4588c50582db9d4decc70","impliedFormat":1},{"version":"7333ee6354964fd396297958e52e5bf62179aa2c88ca0a35c6d3a668293b7e0e","impliedFormat":1},{"version":"19c3760af3cbc9da99d5b7763b9e33aaf8d018bc2ed843287b7ff4343adf4634","impliedFormat":1},{"version":"9d1e38aeb76084848d2fcd39b458ec88246de028c0f3f448b304b15d764b23d2","impliedFormat":1},{"version":"d406da1eccf18cec56fd29730c24af69758fe3ff49c4f94335e797119cbc0554","impliedFormat":1},{"version":"4898c93890a136da9156c75acd1a80a941a961b3032a0cf14e1fa09a764448b7","impliedFormat":1},{"version":"f5d7a845e3e1c6c27351ea5f358073d0b0681537a2da6201fab254aa434121d3","impliedFormat":1},{"version":"3a47d4582ef0697cccf1f3d03b620002f03fb0ff098f630e284433c417d6c61b","impliedFormat":1},{"version":"d7c30f0abfe9e197e376b016086cf66b2ffb84015139963f37301ed0da9d3d0d","impliedFormat":1},{"version":"ff75bba0148f07775bcb54bf4823421ed4ebdb751b3bf79cc003bd22e49d7d73","impliedFormat":1},{"version":"d40d20ac633703a7333770bfd60360126fc3302d5392d237bbb76e8c529a4f95","impliedFormat":1},{"version":"35a9867207c488061fb4f6fe4715802fbc164b4400018d2fa0149ad02db9a61c","impliedFormat":1},{"version":"b5fd805b7c578ca6a42c42bbfa6fda95a85d9e332106d810bb18116dc13a45f8","impliedFormat":1},{"version":"3abd9ab4fb3a035c865e6a68cb9f4260515354d5ebebacd5c681aee52c046d1f","impliedFormat":1},{"version":"13e82862532619a727cff9a9ba78df7ca66e8a9b69e4cbd18e9809257b6bf7ba","impliedFormat":1},{"version":"601fe4e366b99181cd0244d96418cffeaaa987a7e310c6f0ed0f06ce63dfe3e9","impliedFormat":1},{"version":"c66a4f2b1362abc4aeee0870c697691618b423c8c6e75624a40ef14a06f787b7","impliedFormat":1},{"version":"8808b1c4f84f2e43da98757a959fe7282cb1795737e16534a97b7d4d33e84dfc","impliedFormat":1},{"version":"cd0565ace87a2d7802bf4c20ea23a997c54e598b9eb89f9c75e69478c1f7a0b4","impliedFormat":1},{"version":"738020d2c8fc9df92d5dee4b682d35a776eaedfe2166d12bc8f186e1ea57cc52","impliedFormat":1},{"version":"86dd7c5657a0b0bc6bee8002edcfd544458d3d3c60974555746eb9b2583dc35e","impliedFormat":1},{"version":"d97b96b6ecd4ee03f9f1170722c825ef778430a6a0d7aab03b8929012bf773cd","impliedFormat":1},{"version":"e84e9b89251a57da26a339e75f4014f52e8ef59b77c2ee1e0171cde18d17b3b8","impliedFormat":1},{"version":"272dbfe04cfa965d6fff63fdaba415c1b5a515b1881ae265148f8a84ddeb318f","impliedFormat":1},{"version":"2035fb009b5fafa9a4f4e3b3fdb06d9225b89f2cbbf17a5b62413bf72cea721a","impliedFormat":1},{"version":"eefafec7c059f07b885b79b327d381c9a560e82b439793de597441a4e68d774a","impliedFormat":1},{"version":"72636f59b635c378dc9ea5246b9b3517b1214e340e468e54cb80126353053b2e","impliedFormat":1},{"version":"ebb79f267a3bf2de5f8edc1995c5d31777b539935fab8b7d863e8efb06c8e9ea","impliedFormat":1},{"version":"ada033e6a4c7f4e147e6d76bb881069dc66750619f8cc2472d65beeec1100145","impliedFormat":1},{"version":"0c04cc14a807a5dc0e3752d18a3b2655a135fefbf76ddcdabd0c5df037530d41","impliedFormat":1},{"version":"605d29d619180fbec287d1701e8b1f51f2d16747ec308d20aba3e9a0dac43a0f","impliedFormat":1},{"version":"67c19848b442d77c767414084fc571ce118b08301c4ddff904889d318f3a3363","impliedFormat":1},{"version":"c704ff0e0cb86d1b791767a88af21dadfee259180720a14c12baee668d0eb8fb","impliedFormat":1},{"version":"195c50e15d5b3ea034e01fbdca6f8ad4b35ad47463805bb0360bdffd6fce3009","impliedFormat":1},{"version":"da665f00b6877ae4adb39cd548257f487a76e3d99e006a702a4f38b4b39431cb","impliedFormat":1},{"version":"083aebdd7c96aee90b71ec970f81c48984d9c8ab863e7d30084f048ddcc9d6af","impliedFormat":1},{"version":"1c3bde1951add95d54a05e6628a814f2f43bf9d49902729eaf718dc9eb9f4e02","impliedFormat":1},{"version":"d7a4309673b06223537bc9544b1a5fe9425628e1c8ab5605f3c5ebc27ecb8074","impliedFormat":1},{"version":"0be3da88f06100e2291681bbda2592816dd804004f0972296b20725138ebcddf","impliedFormat":1},{"version":"3eadfd083d40777b403f4f4eecfa40f93876f2a01779157cc114b2565a7afb51","impliedFormat":1},{"version":"cb6789ce3eba018d5a7996ccbf50e27541d850e9b4ee97fdcb3cbd8c5093691f","impliedFormat":1},{"version":"a3684ea9719122f9477902acd08cd363a6f3cff6d493df89d4dc12fa58204e27","impliedFormat":1},{"version":"ff3c48a17bf10dfbb62448152042e4a48a56c9972059997ab9e7ed03b191809b","impliedFormat":1},{"version":"bc3561e460de5a2c19123f618fc1d5a96a484d168884d00666997d847f502bf9","impliedFormat":1},{"version":"c0c46113b4cd5ec9e7cf56e6dbfb3930ef6cbba914c0883eeced396988ae8320","impliedFormat":1},{"version":"118ea3f4e7b9c12e92551be0766706f57a411b4f18a1b4762cfde3cd6d4f0a96","impliedFormat":1},{"version":"01acd7f315e2493395292d9a02841f3b0300e77ccf42f84f4f11460e7623107d","impliedFormat":1},{"version":"656d1ce5b8fbed896bb803d849d6157242261030967b821d01e72264774cab55","impliedFormat":1},{"version":"da66c1b41d833858fe61947432130d39649f0b53d992dfd7d00f0bbe57191ef4","impliedFormat":1},{"version":"835739c6dcf0a9a1533d1e95b7d7cf8e44ca1341652856b897f4573078b23a31","impliedFormat":1},{"version":"774a3bcc0700036313c57a079e2e1161a506836d736203aa0463efa7b11a7e54","impliedFormat":1},{"version":"96577e3f8e0f9ea07ddf748d72dc1908581ef2aafd4ae7418a4574c26027cf02","impliedFormat":1},{"version":"f55971cb3ede99c17443b03788fe27b259dcd0f890ac31badcb74e3ffb4bb371","impliedFormat":1},{"version":"0ef0c246f8f255a5d798727c40d6d2231d2b0ebda5b1ec75e80eadb02022c548","impliedFormat":1},{"version":"ea127752a5ec75f2ac6ef7f1440634e6ae5bc8d09e6f98b61a8fb600def6a861","impliedFormat":1},{"version":"862320e775649dcca8915f8886865e9c6d8affc1e70ed4b97199f3b70a843b47","impliedFormat":1},{"version":"561764374e9f37cb895263d5c8380885972d75d09d0db64c12e0cb10ba90ae3e","impliedFormat":1},{"version":"ee889da857c29fa7375ad500926748ef2e029a6645d7c080e57769923d15dfef","impliedFormat":1},{"version":"56984ba2d781bd742b6bc0fa34c10df2eae59b42ec8b1b731d297f1590fa4071","impliedFormat":1},{"version":"7521de5e64e2dd022be87fce69d956a52d4425286fbc5697ecfec386da896d7e","impliedFormat":1},{"version":"f50b072ec1f4839b54fd1269a4fa7b03efbc9c59940224c7939632c0f70a39c3","impliedFormat":1},{"version":"a5b7ec6f1ff3f1d19a2547f7e1a50ab1284e6b4755d260a481ea01ed2c7cec60","impliedFormat":1},{"version":"1747f9eebf5beb8cfc46cf0303e300950b7bff20cff60b9c46818caced3226e3","impliedFormat":1},{"version":"9d969f36abb62139a90345ee5d03f1c2479831bd84c8f843d87ec304cad96ead","impliedFormat":1},{"version":"e972b52218fd5919aec6cd0e5e2a5fb75f5d2234cf05597a9441837a382b2b29","impliedFormat":1},{"version":"d1e292b0837d0ef5ede4f52363c9d8e93f5d5234086adc796e11eae390305b36","impliedFormat":1},{"version":"0a9e10028a96865d0f25aeca9e3b1ff0691b9b662aa186d9d490728434cf8261","impliedFormat":1},{"version":"1aed740b674839c89f427f48737bad435ee5a39d80b5929f9dc9cc9ac10a7700","impliedFormat":1},{"version":"6e9e3690dc3a6e99a845482e33ee78915893f2d0d579a55b6a0e9b4c44193371","impliedFormat":1},{"version":"4e7a76cce3b537b6cdb1c4b97e29cb4048ee8e7d829cf3a85f4527e92eb573f2","impliedFormat":1},{"version":"7e7e30f804f94b72d23a606f1d281de404a510984085fea8cbbefc7bdcaf1a37","impliedFormat":1},{"version":"46f1fe93f199a419172d7480407d9572064b54712b69406efa97e0244008b24e","impliedFormat":1},{"version":"044e6aaa3f612833fb80e323c65e9d816c3148b397e93630663cda5c2d8f4de1","impliedFormat":1},{"version":"deaf8eb392c46ea2c88553d3cc38d46cfd5ee498238dbc466e3f5be63ae0f651","impliedFormat":1},{"version":"6a79b61f57699de0a381c8a13f4c4bcd120556bfab0b4576994b6917cb62948b","impliedFormat":1},{"version":"c5133d7bdec65f465df12f0b507fbc0d96c78bfa5a012b0eb322cf1ff654e733","impliedFormat":1},{"version":"7905c052681cbe9286797ec036942618e1e8d698dcc2e60f4fb7a0013d470442","impliedFormat":1},{"version":"89049878a456b5e0870bb50289ea8ece28a2abd0255301a261fa8ab6a3e9a07d","impliedFormat":1},{"version":"d0da4f4fd66f37c13deabc1a641edd629141c333ccf862733788bd27e89436ac","impliedFormat":1},{"version":"d4a4f10062a6d82ba60d3ffde9154ef24b1baf2ce28c6439f5bdfb97aa0d18fc","impliedFormat":1},{"version":"f13310c360ecffddb3858dcb33a7619665369d465f55e7386c31d45dfc3847bf","impliedFormat":1},{"version":"e7bde95a05a0564ee1450bc9a53797b0ac7944bf24d87d6f645baca3aa60df48","impliedFormat":1},{"version":"62e68ce120914431a7d34232d3eca643a7ddd67584387936a5202ae1c4dd9a1b","impliedFormat":1},{"version":"91d695bba902cc2eda7edc076cd17c5c9340f7bb254597deb6679e343effadbb","impliedFormat":1},{"version":"e1cb8168c7e0bd4857a66558fe7fe6c66d08432a0a943c51bacdac83773d5745","impliedFormat":1},{"version":"a464510505f31a356e9833963d89ce39f37a098715fc2863e533255af4410525","impliedFormat":1},{"version":"0612b149cabbc136cb25de9daf062659f306b67793edc5e39755c51c724e2949","impliedFormat":1},{"version":"2579b150b86b5f644d86a6d58f17e3b801772c78866c34d41f86f3fc9eb523fe","impliedFormat":1},{"version":"e4b3a3e1b21a194b29d35488ec880948fc2ef8e937288463ea2981ad62a7b106","impliedFormat":1},{"version":"0353e05b0d8475c10ddd88056e0483b191aa5cdea00a25e0505b96e023f1a2d9","impliedFormat":1},{"version":"6a312caabb43c284a4b0da60d5c24f285338096eb9e977af1faca38d32a34685","impliedFormat":1},{"version":"b6eda93163beb978dd0d3042b11c60373506400c94613c0b40d1c0a9a9f1020e","impliedFormat":1},{"version":"a8af4739274959d70f7da4bfdd64f71cfc08d825c2d5d3561bc7baed760b33ef","impliedFormat":1},{"version":"99193bafaa9ce112889698de25c4b8c80b1209bb7402189aea1c7ada708a8a54","impliedFormat":1},{"version":"70473538c6eb9494d53bf1539fe69df68d87c348743d8f7244dcb02ca3619484","impliedFormat":1},{"version":"c48932ab06a4e7531bdca7b0f739ace5fa273f9a1b9009bcd26902f8c0b851f0","impliedFormat":1},{"version":"df6c83e574308f6540c19e3409370482a7d8f448d56c65790b4ac0ab6f6fedd8","impliedFormat":1},{"version":"ebbe6765a836bfa7f03181bc433c8984ca29626270ca1e240c009851222cb8a7","impliedFormat":1},{"version":"20f630766b73752f9d74aab6f4367dba9664e8122ea2edcb00168e4f8b667627","impliedFormat":1},{"version":"468df9d24a6e2bc6b4351417e3b5b4c2ca08264d6d5045fe18eb42e7996e58b4","impliedFormat":1},{"version":"954523d1f4856180cbf79b35bd754e14d3b2aea06c7efd71b254c745976086e9","impliedFormat":1},{"version":"31a030f1225ab463dd0189a11706f0eb413429510a7490192a170114b2af8697","impliedFormat":1},{"version":"6f48f244cd4b5b7e9a0326c74f480b179432397580504726de7c3c65d6304b36","impliedFormat":1},{"version":"5520e6defac8e6cdced6dd28808fafe795cb2cd87407bb1012e13a2b061f50b7","impliedFormat":1},{"version":"c3451661fb058f4e15971bbed29061dd960d02d9f8db1038e08b90d294a05c68","impliedFormat":1},{"version":"1f21aefa51f03629582568f97c20ef138febe32391012828e2a0149c2c393f62","impliedFormat":1},{"version":"b18141cda681d82b2693aef045107a910b90a7409ecff0830e1283f0bb2a53e6","impliedFormat":1},{"version":"18eb53924f27af2a5e9734dce28cf5985df7b2828dade1239241e95b639e9bf1","impliedFormat":1},{"version":"a9f1c52f4e7c2a2c4988b5638bd3dbfe38e408b358d02dd2fb8c8920e877f088","impliedFormat":1},{"version":"a7e10a8ad6536dd0225029e46108b18cee0d3c15c2f6e49bd62798ad85bc57b6","impliedFormat":1},{"version":"8db1ed144dd2304b9bd6e41211e22bad5f4ab1d8006e6ac127b29599f4b36083","impliedFormat":1},{"version":"843a5e3737f2abbbbd43bf2014b70f1c69a80530814a27ae1f8be213ae9ec222","impliedFormat":1},{"version":"6fc1be224ad6b3f3ec11535820def2d21636a47205c2c9de32238ba1ac8d82e6","impliedFormat":1},{"version":"5a44788293f9165116c9c183be66cefef0dc5d718782a04847de53bf664f3cc1","impliedFormat":1},{"version":"afd653ae63ce07075b018ba5ce8f4e977b6055c81cc65998410b904b94003c0a","impliedFormat":1},{"version":"9172155acfeb17b9d75f65b84f36cb3eb0ff3cd763db3f0d1ad5f6d10d55662f","impliedFormat":1},{"version":"71807b208e5f15feffb3ff530bec5b46b1217af0d8cc96dde00d549353bcb864","impliedFormat":1},{"version":"1a6eca5c2bc446481046c01a54553c3ffb856f81607a074f9f0256c59dd0ab13","impliedFormat":1},{"version":"dff93e0997c4e64ff29e9f70cad172c0b438c4f58c119f17a51c94d48164475a","impliedFormat":1},{"version":"fd1ddf926b323dfa439be49c1d41bbe233fe5656975a11183aeb3bf2addfa3bb","impliedFormat":1},{"version":"6dda11db28da6bcc7ff09242cd1866bdddd0ae91e2db3bea03ba66112399641a","impliedFormat":1},{"version":"ea4cd1e72af1aa49cf208b9cb4caf542437beb7a7a5b522f50a5f1b7480362ed","impliedFormat":1},{"version":"903a7d68a222d94da11a5a89449fdd5dd75d83cd95af34c0242e10b85ec33a93","impliedFormat":1},{"version":"e7fe2e7ed5c3a7beff60361632be19a8943e53466b7dd69c34f89faf473206d7","impliedFormat":1},{"version":"b4896cee83379e159f83021e262223354db79e439092e485611163e2082224ff","impliedFormat":1},{"version":"5243e79a643e41d9653011d6c66e95048fc0478eb8593dc079b70877a2e3990e","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"c8b8968311ec4e5e97b7b5fb8a65efaba455db9bdcfd7fff7fb15f6e317bfba0","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aecbf1d9e6a18dab7d92ef8a89a1444b47e1eb6134cb2bb776a26d55ff58c29a","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"1fede9296beac11ce8e6b425396a1791f64341f2be85deebb6286faf6e16306e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce697b6a251d9cad53998c7fd3098072df883b525ec45d83530e434dc6d80dc6","impliedFormat":1},{"version":"719412f054e6ecc35489462c9a21bab0323d173a7d04e55b0ace4b5d86fbeb07","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"fac3e88881b35d3a757ed891ac912b2674792c25e2a1a74e1f5fbc72d19a9792","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"c1fa52b3d014001e8662fa2669d90ea15373958a288e3b83a3b621733d25292a","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"5e66972e83eb4dc7123939bf816e6cbd9ad81af5552db1cab84e6bd9c64d2ecc","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"8413d0641f293aed551c7464615b770d34a02dedede889b9591172287d68e773","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"1b241e24f3227d078c06aeda6e050187ad59a4e591f4467abed44d92b084e08d","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"7fde0e1be5c8be204ffbf428abfcf01da2eb0f130e1bc3f539eb7275f4fd1f58","impliedFormat":1},{"version":"e284328553df5f425a5d33d36a0c3fa66b46af9d097cad6f4d2e8696dfdeb0f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f36b3fbe2be150a9ca140da48593f21e6a8172004f92ddc549b43efec39f3e54","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"1c4f139ade4f6ebf45463505f8155173e5d7a5305e50e0aae0a5e712d6ff3b48","impliedFormat":1},{"version":"e16b319e5aca1031168de823c4946ff8e29629c4c8cc0ec0fcfe2a8ab2155043","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"2c3c5c0f54055e87640f5d233716fd889f3034fc7911d603b642369b0dbeb2a7","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"1c9e5b1a17b1fc9b3711fb36e0690421261ab2880f15b145155b5b2ba2ab6c2d","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"6953d7597831d0860c7034cf4f0419687d263b6b98a4b32e37ce6d49615c36e2","impliedFormat":1},{"version":"76e7352249c42b9d54fe1f9e1ebcef777da1cb2eb33038366af49469d433597b","impliedFormat":1},{"version":"88cb622dd0ec1ef860e5c27fa884e60d2eba5ae22c7907dff82c56a69bdd2c8a","impliedFormat":1},{"version":"eb234b3e285e8bc071bdddc1ec0460095e13ead6222d44b02c4e0869522f9ba3","impliedFormat":1},{"version":"c85114872760189e50fef131944427b0fb367f0cc0b6dce164bb427a6fd89381","impliedFormat":1},{"version":"5ad69b0d7e7bdbcd3adfdb6a3e306e935c9c2711b1c60493646504a2f991346e","impliedFormat":1},{"version":"a12a667efdeb03b529bd4ebb4032998ddd32743799f59f9f18b186f8e63a2cf1","impliedFormat":1},{"version":"cee7efa0ae4c58deab218d1df0d1bf84abfd5c356cff28bca1421489cba13a19","impliedFormat":1},{"version":"f9e034b1ae29825c00532e08ea852b0c72885c343ee48d2975db0a6481218ab3","impliedFormat":1},{"version":"1193f49cbb883f40326461fe379e58ffa4c18d15bf6d6a1974ad2894e4fb20f3","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"617cca499054c26280cf7a274ba61634ca4a2376afb322f72e5af4f2cc2d7689","impliedFormat":1},{"version":"b1a6b13030544850d3032928604dd91e28ca82862346aaebff1049b645daf12f","impliedFormat":1},{"version":"e3868b31fda86d4367496db498819c20aad204da9edeb53a6bd3f39841a70d3c","impliedFormat":1},{"version":"d5eb5865d4cbaa9985cc3cfb920b230cdcf3363f1e70903a08dc4baab80b0ce1","impliedFormat":1},{"version":"51ebca098538b252953b1ef83c165f25b52271bfb6049cd09d197dddd4cd43c5","impliedFormat":1},{"version":"092fb7b72bf76e2bd33dbe21228a3613df5c21383dfe961629672135c86c9508","signature":"cabda2f925aec2bd2f4c3a5f99baf94cf5f958408a710a35468e828b883b699a"},{"version":"9223a0889abb0669020e94a9b8c1e68274cdc05533c1f79d84fe516450e94ebd","signature":"bbc394ad2a2ec9c5dbcd9f60d4b365bf809989c90dd3c202b20fddc20e699bdf"},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"95da3c365e3d45709ad6e0b4daa5cdaf05e9076ba3c201e8f8081dd282c02f57","impliedFormat":1},{"version":"7245fa556a63e4c5997642422fe4250df16a56694cc1a1f50108dc80fe3018ba","impliedFormat":1},{"version":"7c14e702387296711c1a829bc95052ff02f533d4aa27d53cc0186c795094a3a9","impliedFormat":1},{"version":"4c72d080623b3dcd8ebd41f38f7ac7804475510449d074ca9044a1cbe95517ae","impliedFormat":1},{"version":"579f8828da42ae02db6915a0223d23b0da07157ff484fecdbf8a96fffa0fa4df","impliedFormat":1},{"version":"5f6beb8c43a52e9119cf31a7583ceca88dc910d7de29caad1f81e98497f808ba","impliedFormat":1},{"version":"3ae3b86c48ae3b092e5d5548acbf4416b427fed498730c227180b5b1a8aa86e3","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"ba63131c5e91f797736444933af16ffa42f9f8c150d859ec65f568f037a416ea","impliedFormat":1},{"version":"44372b8b42e8916b0ab379da38dcf4de11227bad4221aba3e2dbe718999bdfab","impliedFormat":1},{"version":"43ebfcc5a9e9a9306ea4de9fda3abdd9e018040e246434b48ad56d93b14d4a3d","impliedFormat":1},{"version":"0e9aa853b5eb2ca09e0e3e3eb94cbd1d5fb3d682ab69817d4d11fe225953fc57","impliedFormat":1},{"version":"179683df1e78572988152d598f44297da79ac302545770710bba87563ce53e06","impliedFormat":1},{"version":"793c353144f16601da994fa4e62c09b7525836ce999c44f69c28929072ca206a","impliedFormat":1},{"version":"d34aa8df2d0b18fb56b1d772ff9b3c7aea7256cf0d692f969be6e1d27b74d660","impliedFormat":1},{"version":"93a3b8e57c68e348fc4054b245bd7cf4893225f56c991028844b693c2fa8c03c","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"6823ccc7b5b77bbf898d878dbcad18aa45e0fa96bdd0abd0de98d514845d9ed9","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"168d88e14e0d81fe170e0dadd38ae9d217476c11435ea640ddb9b7382bdb6c1f","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"8e04cf0688e0d921111659c2b55851957017148fa7b977b02727477d155b3c47","impliedFormat":1},{"version":"ff155930718467b27e379e4a195e4607ce277f805cad9d2fa5f4fd5dec224df6","affectsGlobalScope":true,"impliedFormat":1},{"version":"599ac4a84b7aa6a298731179ec1663a623ff8ac324cdc1dabb9c73c1259dc854","impliedFormat":1},{"version":"95c2ab3597d7d38e990bf212231a6def6f6af7e3d12b3bb1b67c15fc8bfd4f4a","impliedFormat":1},{"version":"585bc61f439c027640754dd26e480afa202f33e51db41ee283311a59c12c62e7","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"07fcc9be98e12bd2f0f71a501a9bfbe2e53d38c50e8a5e84223fdd05bd8749c5","impliedFormat":1},{"version":"8c724ec27deda8f7ecdca0f22d9bb8c97a4507500ec645f49dea9c73184c2512","impliedFormat":1},{"version":"91e138f1e8000e60130db78d15dc12374f9b89ab70642e1fc8194491c9b6a155","signature":"b712bca27eb27267a86589bbffa726f8c82fe484746db01b49081a3b5694f3e1"},{"version":"6ecc423e71318bafbd230e6059e082c377170dfc7e02fccfa600586f8604d452","impliedFormat":1},{"version":"772f9bdd2bf50c9c01b0506001545e9b878faa7394ad6e7d90b49b179a024584","impliedFormat":1},{"version":"46fbbc428aa66412a94e7c1d455b6ae592ee57e0adb080bfa2abacc2a63b21a1","impliedFormat":1},{"version":"df251aa7a87b6d003a45ad1f71b87ff4448e535db473cb3c897720012b5553d2","impliedFormat":1},{"version":"20ccce97c422c215a41f0aa8373eb2b6f4068633ceef401c5f743cecdf8119bf","impliedFormat":1},{"version":"cd1ccdd9fd7980d43dfede5d42ee3d18064baed98b136089cf7c8221d562f058","impliedFormat":1},{"version":"d60f9a4fd1e734e7b79517f02622426ea1000deb7d6549dfdece043353691a4e","impliedFormat":1},{"version":"ec05ccc3a2e35ef2800a5b5ed2eb2ad4cd004955447bebd86883ddf49625b400","impliedFormat":1},{"version":"403d28b5e5f8fcff795ac038902033ec5890143e950af45bd91a3ed231e8b59c","impliedFormat":1},{"version":"0b17ac073f8dd236cb4ec1f16c84ac2632713bf421305c96a536c360b1500f01","impliedFormat":1},{"version":"c73b59f91088c00886d44ca296d53a75c263c3bda31e3b2f37ceb137382282be","impliedFormat":1},{"version":"e7aa2c584edb0970cb4bb01eb10344200286055f9a22bc3dadcc5a1f9199af3e","impliedFormat":1},{"version":"bfeb476eb0049185cb94c2bfcadb3ce1190554bbcf170d2bf7c68ed9bb00458e","impliedFormat":1},{"version":"ae23a65a2b664ffe979b0a2a98842e10bdf3af67a356f14bbc9d77eb3ab13585","impliedFormat":1},{"version":"2db00053dff66774bc4216209acf094dd70d9dfd8211e409fc4bd8d10f7f66f6","impliedFormat":1},{"version":"eccf6ad2a8624329653896e8dbd03f30756cbd902a81b5d3942d6cf0e1a21575","impliedFormat":1},{"version":"1930c964051c04b4b5475702613cd5a27fcc2d33057aa946ff52bfca990dbc84","impliedFormat":1},{"version":"762992adfa3fbf42c0bce86caed3dc185786855b21a20265089770485e6aa9d3","impliedFormat":1},{"version":"8a440978a6b5c6e6ea76a2804a90c06cadbefb96f6680785d8d3bfab8c8875d8","impliedFormat":1},{"version":"62463aa3d299ae0cdc5473d2ac32213a05753c3adce87a8801c6d2b114a64116","impliedFormat":1},{"version":"05a0d93bb8653bb3833c1c22e3fa5432c38885b2e545e99524e67e25e5ce355c","impliedFormat":1},{"version":"fb4c35b52a35353805407ea9fa1baf3ef102e2f8e0d37a88c0fc0099f3df5dbb","impliedFormat":1},{"version":"40abfc1faa2971acedb69bde8d8c4bbd4edce4af12f786e747dfb8298e6a05a1","impliedFormat":1},{"version":"80ae880ac3e366a8aca79089c9d8467b1753e19fb65a9cf43bbfdb6db1ac588d","impliedFormat":1},{"version":"02153ce9d452d116e9b7bfe42058c02c4cac09f49c46450820b4b44c83306a3e","impliedFormat":1},{"version":"f689c0633e8c95f550d36af943d775f3fae3dac81a28714b45c7af0bbb76a980","impliedFormat":1},{"version":"34be0f820d16a54625b86ab6d7b7928dbb819b58ddac181aa3836390c8c3df24","impliedFormat":1},{"version":"0495afa06118083a11cd4da27acfd96a01b989aff0fc633823c5febe9668ef15","impliedFormat":1},{"version":"67feb4436be89f58ba899dec57f6e703bee1bb7205ba21ab50fca237f6753787","impliedFormat":1},{"version":"75849f5ead7684bf85ee9cce7e84683ed4332fa187f8ee0978ba9df96c5cee06","impliedFormat":1},{"version":"b5325ff5c9dc488bb9c87711faf2b73f639c45f190b81df88ed056807206958b","impliedFormat":1},{"version":"3a8c0797ff5e1cfb5438f0c5a22a36500320c075b74e964da1ec1424b5b526f0","impliedFormat":1},{"version":"a743cf98667fdbb6989d9a7629d25a9824a484ce639bbf2740dc809341e6dbce","impliedFormat":1},{"version":"d73a2cbf1893668c1fc0b41878a9df37bbb128cb05e292b845f68b7b88ef9957","impliedFormat":1},{"version":"eaa70e04ed55081afa11e3aa261b14ed26507e1a0b0fbade405c6b50c70b2059","impliedFormat":1},{"version":"eb89de249984a951578b5fa472d0414cd10cd7d35777aa1c7c308dfe2b0b49d6","impliedFormat":1},{"version":"0fe4a1bd28d903694da55eb5955297a5db1fc87720a45ae60b7640bb5310368c","impliedFormat":1},{"version":"a30b92bc54447834c3b4443b388891bf11cce5b25b8edbfc29184d2abd51c991","impliedFormat":1},{"version":"5e168f60c9132665853ccba13a29e4d311ac174c0fd3eda5cee7a6c5071802d6","impliedFormat":1},{"version":"1c225a18846203fafc4334658715b0d3fd3ee842c4cfd42e628a535eda17730d","impliedFormat":1},{"version":"7ce93da38595d1caf57452d57e0733474564c2b290459d34f6e9dcf66e2d8beb","impliedFormat":1},{"version":"d7b672c1c583e9e34ff6df2549d6a55d7ca3adaf72e6a05081ea9ee625dac59f","impliedFormat":1},{"version":"f3a2902e84ebdef6525ed6bf116387a1256ea9ae8eeb36c22f070b7c9ea4cf09","impliedFormat":1},{"version":"788e6ec863183b001b1e96d54f876c9d5436fa3aa19397093912dcdae466caf7","impliedFormat":1},{"version":"ae3e98448468e46474d817b5ebe74db11ab22c2feb60e292d96ce1a4ee963623","impliedFormat":1},{"version":"f5c67304429e2e2554f63526e842f47bd9ee0cb0f18becc963b93b2d3fafe9c2","impliedFormat":1},{"version":"8903c1df475f531bf787bc795c718e415ce9974536d8429619fdc456f5329948","impliedFormat":1},{"version":"4bac2738a569f77e13bff48946a7b8e98db314cc5c8e75d14e7efd6b1ed52a85","impliedFormat":1},{"version":"337de7eeeb4bc95014657067d2c3f370d7b3935c8c18fb5e12d4c00545ee519b","impliedFormat":1},"e21f01552cb06fef5218205040c7a789aa37f152f919b94a310baef20850fb69",{"version":"4289158231320e8487fef6cfa3cdcfffa9b9bb04aa8fcdb530788ecaa08b9496","signature":"b44abe66b17f112bbc791fe648ca34390dc6f91884a8bd095b97db336dccbd3e"},{"version":"03c92769f389dbd9e45232f7eb01c3e0f482b62555aaf2029dcbf380d5cee9e4","impliedFormat":1},{"version":"32d7f70fd3498bc76a46dab8b03af4215f445f490f8e213c80cf06b636a4e413","impliedFormat":1},{"version":"88d8989103d6f6dec87da551273ec8934d43d269fe7313d85e79dbc98c1e0f74","signature":"0c6e29d4d902505c119e6e965ca3e8c1f212a4f5956fc9fd5fec9152e44e6f16"},{"version":"de10af0b16141b776fda0ddbb755b6b03df1b41a1b64fdef438f74c01b037217","signature":"a28b5c0c372fb375910b3fe3c3ce4331509bc18ccef7cc39c9ee9d8daf8225d1"},{"version":"45aa06e96eca17c728be205b011de7a5a626f91778c5c7e69ab3b1a2c1db9ba5","signature":"f80488f4466c5cc21e5eaba4a658945772ecf44d5604f553f7ea6f03f5a46e6d"},{"version":"e509c85ae9bcdd01c389b2d7c98253d68c8c95cc9d48c6f5e93be9332d6af3a3","signature":"e1d421be5c7d2a8d350258ad7292e9b1c665a5c9e4ad5228e9242780d2841137"},{"version":"433680b270a046d5d7745339665a2228a424863d4fac44aed7996ca1d0192afd","signature":"aa1725e38b5a0b4009f6a74f296f173e7926c119a60454dbd2e523861735df69"},{"version":"f53372467b2bcb94edbe62a387511b6c35c2ffdb6ab2d363f8df37a1eddf5739","signature":"5c0b32bbc40398b81c8107e759688dba077920b8cf0b6b5d516124f367cf67d1"},{"version":"5b0b6a79f00ce32e4c83225ad4564c5cf10fe04e32bfb27be61b800a466205bc","signature":"b5959c84257ed3a3eb88e65b3f8ed149cf130cc6ed2014c50925cd36bc85b2d6"},{"version":"d71562ebc79eafc987fdd6fb2df5f5937924ac9a1718166d4c4ff5311ca85a14","signature":"27aa1430b121902319e8737aa6355a74b9f2582061826d5268ac88837fb79f4d"},{"version":"669fb1588eb514335b21771f4964835af02ae1e9a6e87b991876e5cb0d4e7357","signature":"22f425c29e4516275a395bbd6204c8a7c0175f0ac7429671ed46beb557848b84"},{"version":"2801df0da49f140c23d7b9b4d5791e28b91abb2b627ccf70442adbbbdfca0600","signature":"6c2241c34e294877fcb644c4feeb1fbb1d036215466923706806f8c1c44da1eb"},{"version":"d5589c0da85e4d909085475acc8dc6f4b65dba02c1beb2c36a9ad3692bc2fe7a","signature":"b2d78bcedccbc0c098c152958b8e49fd23489ab02a9c9c619039632de4b1a5b6"},{"version":"6825e1fdbcb87841338affdc782f43a6aa9153fb48507965c964531452fe3c31","signature":"d708bfa3d7075782f22189753b7a8d8b85480fd7063a942e4261bb5d9fda777d"},{"version":"8d72b72eed3f4a209e0059f56079c8689de6358185e519522b61d82e17b4e018","signature":"730056e854d9e0b73953efacee042a6da82ccd153864d05a93299851d861304d"},{"version":"87bcfcba3d80ddc0b592e102ec0cb4ff595a37a0ea36cedf0f2cb070bc2241bb","signature":"9fa0fce55c0ac7b4cdd12d9740f3a375675ba9bc9047500da6555998314ef79f"},{"version":"4c2f114625839479be1520f7f85ae14e1d108fe690d1fd825e9effb0a724fcd2","signature":"58b168b9aa740f66e6b1dd24d30008f863418913cd96acfa2b5e0e8a431c39b3"},{"version":"ecd95bde0caff7741f29e40e56ac40726d78a02fad9dbb36e01d3fe4bd80962d","signature":"a0b2bd9239cd1c27970d19d0207dd87f9bced64cb228db12bae34c9709da004f"},{"version":"f01094b6fe8a646ff692619f5f94bfce776ca4883cf263f4e09163cb6ef3998d","impliedFormat":1},{"version":"6aac2c5ca00378e4d1421a03f614643dc1e9fd02279257cbf2e8e2a713b00907","impliedFormat":1},{"version":"254510b0a3c2e04f55e98ae89a6aa42f67852c192c3502b3b8488e578b21c9d6","impliedFormat":1},{"version":"b75be7355591118207e7f24143b27a860da4043a1950c746e034313d9ded4137","impliedFormat":1},{"version":"da15f699f56ab6a37b4eca73eb14a356f5d175d979f0c8197d325d5f23c91bd6","impliedFormat":1},{"version":"066658c82798043c6858e95275532be5db2a7250171552ae8434ab2f7bc1fbdf","impliedFormat":1},{"version":"d8c3b3c16a4a8656dcdd394df0df07d3149816cb96a89935d62cafe4dd84009a","impliedFormat":1},{"version":"e982879e6ea8ddf8899f637e639bc225996a729e07f068afb120d32fb4feebf2","impliedFormat":1},{"version":"94616e40e31224cb261a78c5cb96fd3f65f9ead7052eac20fc6c975714f3840c","impliedFormat":1},{"version":"931574e125523649902eee2db57c221a1b36417db4f2c4665bf38ce2170ea06e","impliedFormat":1},{"version":"cd0c8c8b5002ec4cac9e8a5e26d853549c5c446a670fb375b9c052b345fb5da1","impliedFormat":1},{"version":"7d27796c034612b6016db97555b84f1005dc3d55e2286379d48ec8db475b6430","impliedFormat":1},{"version":"0d59de214eefc455e13a7f747c011729ee76f1554fdef55554ecf4bfeb20568b","impliedFormat":1},{"version":"e16ecf37f6f2ca79ff19ba2e4c3697ecd9d38b8d01bf6682bc4003d0d5719651","impliedFormat":1},{"version":"845154327584247966f7dea7a3e4960906b7038cbe23ab43fb198539ca12204f","impliedFormat":1},{"version":"cce34c68dd760a55d002eaa02390985f4aeaa39786679f54ade28be6229792e9","impliedFormat":1},{"version":"1245b8e5e176fc21ced594f675f3c8504eb0d026378fdbf69720df8d26a36d51","impliedFormat":1},{"version":"16a83ea1aa3ec1565c0a5ab8f19e561705b9cf4906ac3cc8ad0241005ae9220b","impliedFormat":1},{"version":"162ffbed80dad8ce0cf81c330c88dccaae85425fb457a6afcae0110419bdedfb","impliedFormat":1},{"version":"a85d6e7924c263fdb7a9e28a578401f2f96950ff9fd0e250c76f25de5ce3b9f2","impliedFormat":1},{"version":"8d5531ae448e6ed9e35170d5abfea411fadd991cbebee85f95f0462ae69f1a8f","impliedFormat":1},{"version":"57947d16b34a3811f854965fe668e81ccea9dd6321e412ea1a2c75d4fd2619c1","impliedFormat":1},{"version":"3c0b38e8bf11bf3ab87b5116ae8e7b2cad0147b1c80f2b77989dea6f0b93e024","impliedFormat":1},{"version":"e9d4bfe42849ba995ab572beba5f30bd484e88f9441a4eb223a54ddec0c4d490","impliedFormat":1},{"version":"0c61d4bd98466fd7fbabeb25f4c0005bca7afcc116a01fdeb5e4fccd88d5d26b","impliedFormat":1},{"version":"4bc4c7612f5cc6298b01f76f7a21674181ae6e199a0b07c518107c15bde32344","impliedFormat":1},{"version":"569e762cf47aafdad508360a443c6c757e56c61db3b652b65458a7d168d139c4","impliedFormat":1},{"version":"02ed2766d79a00719ac3cc77851d54bd7197c1b12085ea12126bc2a65068223e","impliedFormat":1},{"version":"4b84373e192b7e0f8569b65eb16857098a6ee279b75d49223db2a751fdd7efde","impliedFormat":1},{"version":"5aeea312cd1d3cc5d72fc8a9c964439d771bdf41d9cce46667471b896b997473","impliedFormat":1},{"version":"cfa7bf135cafc5aad7cf544bc1cebf65a1fdb4373223cc85ea7d7196e18be151","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1},{"version":"f2c4a36eb216aadb0d9c79862a31b922ccfa1eaaa38d2124cc9192d40eda4779","impliedFormat":1},{"version":"cb5bb1db16ff4b534f56f7741e7ffd0a007ce36d387a377d4c196036e0932423","impliedFormat":1},{"version":"25be1eb939c9c63242c7a45446edb20c40541da967f43f1aa6a00ed53c0552db","impliedFormat":1},{"version":"08c2bb524b8ed271f194e1c7cc6ad0bcc773f596c41f68a207d0ec02c9727060","impliedFormat":1},{"version":"9e49f2391b4a8c6ef3688fc0aea6789f1877296ee5d7be4e9782a54dcb128a2e","impliedFormat":1},{"version":"29ad73d9e365d7b046f3168c6a510477bfe30d84a71cd7eb2f0e555b1d63f5f6","impliedFormat":1},{"version":"d99e9f5aa43397599fe824e38c33d13d3a9e19198806a4363114bd7ac58b29cc","impliedFormat":1},{"version":"440099416057789b14f85af057d4924915f27043399c10d4ca67409d94b963cf","impliedFormat":1},{"version":"ac44995fc7d0781d77927bae7dd41a31f0309e695fd2694b175c0ce3bc4b3b50","impliedFormat":1},{"version":"0c1f802f7a60ca8084e5188ac7952accdfc00f39ded3ebbbd3cdcc9da51b9a7b","impliedFormat":1},{"version":"a32e3fc530d8d1a18bf54678d8d55714827a50c9fabdd4ede7155a56be7d1dcb","impliedFormat":1},{"version":"14ecfc29e0c44ad4c5e50f9b597492cd8f45a2a635db8b5fe911a5da83e26cf8","impliedFormat":1},{"version":"ba0badf6398010ef0ba77947d4b52078fc84cb4f209f6b70194b3b2cfb1823d8","impliedFormat":1},{"version":"c2f041fe0e7ae2d5a19c477d19e8ec13de3d65ef45e442fa081cf6098cdcbe2d","impliedFormat":1},{"version":"0cef678147928ef223ff7f2aae3442cc9f4e9996956e9ac92434e626d0e147f8","impliedFormat":1},{"version":"198ae766bb698feb66d3188cfce59fb33696c951b10f901aa3fc3db4847ce76a","impliedFormat":1},{"version":"6dc488fd3d01e4269f0492b3e0ee7961eec79f4fc3ae997c7d28cde0572dbd91","impliedFormat":1},{"version":"a09b706f16bda9372761bd70cf59814b6f0a0c2970d62a5b2976e2fd157b920f","impliedFormat":1},{"version":"70da4bfde55d1ec74e3aa7635eae741f81ced44d3c344e2d299e677404570ca9","impliedFormat":1},{"version":"bf4f6b0d2ae8d11dc940c20891f9a4a558be906a530b9d9a8ff1032afa1962cd","impliedFormat":1},{"version":"9975431639f84750a914333bd3bfa9af47f86f54edbaa975617f196482cfee31","impliedFormat":1},{"version":"70a5cb56f988602271e772c65cb6735039148d5e90a4c270e5806f59fc51d3a0","impliedFormat":1},{"version":"e083384623f90cfa7e8d2aa7efe78c51095a04ad51d1f82c3e4052689666895d","impliedFormat":1},{"version":"61df313aa65a115881b3153660c5f31f54ca195adb7697460ae5ea54478ce267","signature":"bda3a9e8e5b8a42513be8a887c77a8ae192b12aeb27334c359bc69370e8cc9be"},{"version":"df26e437b3f7e2a021b8590e83e05e43df6b16742cef042f99372c6908ebe77b","signature":"331ca11e3787e052563694011f0c6a02519dd2acfaff07e2e38c22b2ffd0cae7"},{"version":"e774460979fda24622e26d0519880119baac4a603f4c93d92decb420e934c2fd","signature":"96ac42b547c71f53d12a665da69d5494860b1ac63b26f32980a7f13d9ab3b7e9"},{"version":"ce6a4bcd66d27072973a1873c2d499c66c3b2dd9f78673f0b25c40c5decc5082","signature":"376f504e3137971410594b1f711bc890f5d6ad9a92add74a7d2bd711775479cc"},{"version":"2019404616010bd73d0e2369c09fdb4351bea8be2e2cfbe5ca147eab4545c7d9","signature":"f9675abe588ae429479d38577cf9b0ecd46304f08065e87b1f4fcf240e0aca36"},{"version":"99153ea9bd65cefd4567460f45677257a91ecc7dbc4820174b987bf26b7c1c41","signature":"c26db691fd2f3215a9bfec350d111471cae01a9c29dcfcea105b1eae4576745c"},{"version":"e5327295a39f530275266a909f241bdb8206ef156c4c394be4d1b9b5dc2cab6e","signature":"739afd568da9c2a6b10e6d29f6ac25a0cc6e3b22c7ae3fdfe4f8352a3b77200a"},{"version":"dcaf11054fc9895b360c80b4ff567a3b678e219108ea71c6e21cf92b304f7f4f","signature":"4808ae0b1d748430b2a96e42df8346f1dd3c2884a9b7cdfa4fcba3c27eddbfb1"},{"version":"122c8335820c949f177279f87d0a8382de860be6cb51246372ab0e71a07ed2bc","signature":"996d1419773c849f97b0de4a589051ccf359e019b22d34459c03306464b09ded"},{"version":"2c8dae9839b2b64cb08fd5d32d9c8610ef3931843bb9943b92b5dc1661d92aef","signature":"ea56a879e2348d4c51a1c9306ec849d2ee9df0ce99e8ea0204e08574a323bb58"},{"version":"957dc91239e46b0473b16f81060ed8b1335ea7182f5667b8b2f859b4c1a8f1ef","signature":"e94097ebb2723329ee8098756293cd83714ce50d122ff762f985161a938ab5a8"},"430bd829fa41bef7bad3b8b6ed395e7b8bf44e7f1d65c5ff43ee51955a7c8955",{"version":"04de5584b953b03611eeef01ba9948607def8f64f1e7fbc840752b13b4521b52","impliedFormat":1},{"version":"25e5c8b73c6ad21f39e8e72f954090f30b431a993252bccea5bdad4a3d93c760","impliedFormat":1},{"version":"5bf595f68b7c1d46ae8385e3363c6e0d4695b6da58a84c6340489fc07ffc73f8","impliedFormat":1},{"version":"b87682ddc9e2c3714ca66991cdd86ff7e18cae6fd010742a93bd612a07d19697","impliedFormat":1},{"version":"6fd2c680287dd441936fbf38e1b191e126492589b701ea01066a70c434b9ff88","impliedFormat":1},{"version":"86bf2bfe29d0bc3fbc68e64c25ea6eab9bcb3c518ae941012ed75b1e87d391ae","impliedFormat":1},{"version":"3c74d80d1dd95437cc9bbf22d88199e7410fd85af06171327125bcf4025deae8","impliedFormat":1},{"version":"00b4f8b82e78f658b7e269c95d07e55d391235ce34d432764687441177ae7f64","impliedFormat":1},{"version":"e9757a8109200b4efd4334c0c10370e36e19641a624dca2082305d5c5edaaee8","impliedFormat":1},{"version":"10ac50eaf9eb62c048efe576592b14830a757f7ea7ed28ee8deafc19c9845297","impliedFormat":1},{"version":"e75af112e5487476f7c427945fbd76ca46b28285586ad349a25731d196222d56","impliedFormat":1},{"version":"e91adad3da69c366d57067fcf234030b8a05bcf98c25a759a7a5cd22398ac201","impliedFormat":1},{"version":"d7d6e1974124a2dad1a1b816ba2436a95f44feeda0573d6c9fb355f590cf9086","impliedFormat":1},{"version":"464413fcd7e7a3e1d3f2676dc5ef4ebe211c10e3107e126d4516d79439e4e808","impliedFormat":1},{"version":"18f912e4672327b3dd17d70e91da6fcd79d497ba01dde9053a23e7691f56908c","impliedFormat":1},{"version":"2974e2f06de97e1d6e61d1462b54d7da2c03b3e8458ee4b3dc36273bc6dda990","impliedFormat":1},{"version":"d8c1697db4bb3234ff3f8481545284992f1516bc712421b81ee3ef3f226ae112","impliedFormat":1},{"version":"59b6cce93747f7eb2c0405d9f32b77874e059d9881ec8f1b65ff6c068fcce6f2","impliedFormat":1},{"version":"e2c3c3ca3818d610599392a9431e60ec021c5d59262ecd616538484990f6e331","impliedFormat":1},{"version":"e3cd60be3c4f95c43420be67eaa21637585b7c1a8129f9b39983bbd294f9513c","impliedFormat":1},{"version":"7c05f6f5489f96d703c3b8a6258ccf761b2442965256787d59045c9b5c8fb9a8","signature":"e330a1d2c797ad9946fe37f2daa11c13d725c3a09bd4b8425665ad67efa0a3e2"},{"version":"615c2b54e8085f8242e56c37d0cb05bc79234f0c549db03769f97d7a1a045b0a","signature":"ba84f5ccecfa9a5266331cabd2be71fb35bf4b4ffd43f1b2e5af699df8830501"},"b3fbd8d169c244e3a28acd47ae762bbd334a6523de0bdefadae971fdcdbbc710",{"version":"8b0b6a4c032a56d5651f7dd02ba3f05fbfe4131c4095093633cda3cae0991972","impliedFormat":1},{"version":"192a0c215bffe5e4ac7b9ff1e90e94bf4dfdad4f0f69a5ae07fccc36435ebb87","impliedFormat":1},{"version":"3ef8565e3d254583cced37534f161c31e3a8f341ff005c98b582c6d8c9274538","impliedFormat":1},{"version":"d7e42a3800e287d2a1af8479c7dd58c8663e80a01686cb89e0068be6c777d687","impliedFormat":1},{"version":"1098034333d3eb3c1d974435cacba9bd5a625711453412b3a514774fec7ca748","impliedFormat":1},{"version":"f2388b97b898a93d5a864e85627e3af8638695ebfa6d732ecd39d382824f0e63","impliedFormat":1},{"version":"f130eccfce6e5c42ac92e6d070aa2e41c34312b3a75ce8e2c0dd57e5d3cf1d50","impliedFormat":1},{"version":"f477375e6f0bf2a638a71d4e7a3da8885e3a03f3e5350688541d136b10b762a6","impliedFormat":1},{"version":"a44d6ea4dc70c3d789e9cef3cc42b79c78d17d3ce07f5fd278a7e1cbe824da56","impliedFormat":1},{"version":"55cd8cbc22fe648429a787e16a9cd2dc501a2aafd28c00254ad120ef68a581c0","impliedFormat":1},{"version":"ba4900e9d6f9795a72e8f5ca13c18861821a3fc3ae7858acb0a3366091a47afb","impliedFormat":1},{"version":"7778e2cc5f74ef263a880159aa7fa67254d6232e94dd03429a75597a622537a7","impliedFormat":1},{"version":"8e06a1ef49502a62039eeb927a1bd7561b0bce48bd423a929e2e478fd827c273","impliedFormat":1},{"version":"7ec3d0b061da85d6ff50c337e3248a02a72088462739d88f33b9337dba488c4f","impliedFormat":1},{"version":"2f554c6798b731fc39ff4e3d86aadc932fdeaa063e3cbab025623ff5653c0031","impliedFormat":1},{"version":"fe4613c6c0d23edc04cd8585bdd86bc7337dc6265fb52037d11ca19eeb5e5aaf","impliedFormat":1},{"version":"53b26fbee1a21a6403cf4625d0e501a966b9ccf735754b854366cee8984b711c","impliedFormat":1},{"version":"9ff247206ec5dffdfadddfded2c9d9ad5f714821bb56760be40ed89121f192f4","impliedFormat":1},{"version":"a1a42747e6f2d60162b334556d5355a261e194910e6d7b5f1ad2087668b7964b","impliedFormat":1},{"version":"8c59d8256086ed17676139ee43c1155673e357ab956fb9d00711a7cac73e059d","impliedFormat":1},{"version":"cfe88132f67aa055a3f49d59b01585fa8d890f5a66a0a13bb71973d57573eee7","impliedFormat":1},{"version":"53ce488a97f0b50686ade64252f60a1e491591dd7324f017b86d78239bd232ca","impliedFormat":1},{"version":"50fd11b764194f06977c162c37e5a70bcf0d3579bf82dd4de4eee3ac68d0f82f","impliedFormat":1},{"version":"e0ceb647dcdf6b27fd37e8b0406c7eafb8adfc99414837f3c9bfd28ffed6150a","impliedFormat":1},{"version":"99579aa074ed298e7a3d6a47e68f0cd099e92411212d5081ce88344a5b1b528d","impliedFormat":1},{"version":"096e4ddaa8f0aa8b0ceadd6ab13c3fab53e8a0280678c405160341332eca3cd7","impliedFormat":1},{"version":"415b55892d813a74be51742edd777bbced1f1417848627bf71725171b5325133","impliedFormat":1},{"version":"942ab34f62ac3f3d20014615b6442b6dc51815e30a878ebc390dd70e0dec63bf","impliedFormat":1},{"version":"7a671bf8b4ad81b8b8aea76213ca31b8a5de4ba39490fbdee249fc5ba974a622","impliedFormat":1},{"version":"8e07f13fb0f67e12863b096734f004e14c5ebfd34a524ed4c863c80354c25a44","impliedFormat":1},{"version":"9faa56e38ed5637228530065a9bab19a4dc5a326fbdd1c99e73a310cfed4fcde","impliedFormat":1},{"version":"7d4ad85174f559d8e6ed28a5459aebfc0a7b0872f7775ca147c551e7765e3285","impliedFormat":1},{"version":"d422f0c340060a53cb56d0db24dd170e31e236a808130ab106f7ab2c846f1cdb","impliedFormat":1},{"version":"424403ef35c4c97a7f00ea85f4a5e2f088659c731e75dbe0c546137cb64ef8d8","impliedFormat":1},{"version":"16900e9a60518461d7889be8efeca3fe2cbcd3f6ce6dee70fea81dfbf8990a76","impliedFormat":1},{"version":"6daf17b3bd9499bd0cc1733ab227267d48cd0145ed9967c983ccb8f52eb72d6e","impliedFormat":1},{"version":"e4177e6220d0fef2500432c723dbd2eb9a27dcb491344e6b342be58cc1379ec0","impliedFormat":1},{"version":"ddc62031f48165334486ad1943a1e4ed40c15c94335697cb1e1fd19a182e3102","impliedFormat":1},{"version":"b3f4224eb155d7d13eb377ef40baa1f158f4637aa6de6297dfeeacefd6247476","impliedFormat":1},{"version":"4a168e11fe0f46918721d2f6fcdb676333395736371db1c113ae30b6fde9ccd2","impliedFormat":1},{"version":"5b0a75a5cced0bed0d733bde2da0bbb5d8c8c83d3073444ae52df5f16aefb6ab","impliedFormat":1},{"version":"ef2c1585cad462bdf65f2640e7bcd75cd0dbc45bae297e75072e11fe3db017fa","impliedFormat":1},{"version":"ef809928a4085de826f5b0c84175a56d32dd353856f5b9866d78b8419f8ea9bc","impliedFormat":1},{"version":"6f6eadb32844b0ec7b322293b011316486894f110443197c4c9fbcba01b3b2fa","impliedFormat":1},{"version":"a51e08f41e3e948c287268a275bfe652856a10f68ddd2bf3e3aaf5b8cdb9ef85","impliedFormat":1},{"version":"862f7d760ef37f0ae2c17de82e5fbf336b37d5c1b0dcf39dcd5468f90a7fdd54","impliedFormat":1},{"version":"af48a76b75041e2b3e7bd8eed786c07f39ea896bb2ff165e27e18208d09b8bee","impliedFormat":1},{"version":"cb524ec077f3963e13e85747c6b53fbdf6bf407c84ca1873c6e43da1e96bee6d","impliedFormat":1},{"version":"deb092bc337b2cb0a1b14f3d43f56bc663e1447694e6d479d6df8296bdd452d6","impliedFormat":1},{"version":"041bc1c3620322cb6152183857601707ef6626e9d99f736e8780533689fb1bf9","impliedFormat":1},{"version":"22bd7c75de7d68e075975bf1123de5bccecfd06688afff2e2022b4c70bfc91c3","impliedFormat":1},{"version":"128e7c2ffd37aa29e05367400d718b0e4770cefb1e658d8783ec80a16bc0643a","impliedFormat":1},{"version":"076ac4f2d642c473fa7f01c8c1b7b4ef58f921130174d9cf78430651f44c43ec","impliedFormat":1},{"version":"396c1e5a39706999ec8cc582916e05fcb4f901631d2c192c1292e95089a494d9","impliedFormat":1},{"version":"89df75d28f34fc698fe261f9489125b4e5828fbd62d863bbe93373d3ed995056","impliedFormat":1},{"version":"8ccf5843249a042f4553a308816fe8a03aa423e55544637757d0cfa338bb5186","impliedFormat":1},{"version":"93b44aa4a7b27ba57d9e2bad6fb7943956de85c5cc330d2c3e30cd25b4583d44","impliedFormat":1},{"version":"a0c6216075f54cafdfa90412596b165ff85e2cadd319c49557cc8410f487b77c","impliedFormat":1},{"version":"3c359d811ec0097cba00fb2afd844b125a2ddf4cad88afaf864e88c8d3d358bd","impliedFormat":1},{"version":"8df06e1cd5bb3bf31529cc0db74fa2e57f7de1f6042726679eb8bc1f57083a99","impliedFormat":1},{"version":"d62f09256941e92a95b78ae2267e4cf5ff2ca8915d62b9561b1bc85af1baf428","impliedFormat":1},{"version":"e6223b7263dd7a49f4691bf8df2b1e69f764fb46972937e6f9b28538d050b1ba","impliedFormat":1},{"version":"d9b59eb4e79a0f7a144ee837afb3f1afbc4dab031e49666067a2b5be94b36bd4","impliedFormat":1},{"version":"1db014db736a09668e0c0576585174dbcfd6471bb5e2d79f151a241e0d18d66b","impliedFormat":1},{"version":"8a153d30edde9cefd102e5523b5a9673c298fc7cf7af5173ae946cbb8dd48f11","impliedFormat":1},{"version":"abaaf8d606990f505ee5f76d0b45a44df60886a7d470820fcfb2c06eafa99659","impliedFormat":1},{"version":"51a66bfa412057e786a712733107547ceb6f539061f5bf1c6e5a96e4ccf4f83c","impliedFormat":1},{"version":"d92a80c2c05cf974704088f9da904fe5eadc0b3ad49ddd1ef70ca8028b5adda1","impliedFormat":1},{"version":"fbd7450f20b4486c54f8a90486c395b14f76da66ba30a7d83590e199848f0660","impliedFormat":1},{"version":"ece5b0e45c865645ab65880854899a5422a0b76ada7baa49300c76d38a530ee1","impliedFormat":1},{"version":"62d89ac385aeab821e2d55b4f9a23a277d44f33c67fefe4859c17b80fdb397ea","impliedFormat":1},{"version":"f4dee11887c5564886026263c6ee65c0babc971b2b8848d85c35927af25da827","impliedFormat":1},{"version":"fb8dd49a4cd6d802be4554fbab193bb06e2035905779777f32326cb57cf6a2c2","impliedFormat":1},{"version":"e403ecdfba83013b5eb0e648a92ce182bff2a45ccb81db3035a69081563c2830","impliedFormat":1},{"version":"82d3e00d56a71fc169f3cf9ec5f5ffcc92f6c0e67d4dfc130dafe9f1886d5515","impliedFormat":1},{"version":"b8d57effce2d49a5493debbd8c644e8d52fbe66e2c6d451371375ef5f7bccb8e","impliedFormat":1},{"version":"856024d913cc60b17cf63970f2707ed549c562ccf6ccbb14a171df5a4d1ea44f","impliedFormat":1},{"version":"1b33478647aa1b771314745807397002a410c746480e9447db959110999873ce","impliedFormat":1},{"version":"a14e7c48debe27b25ddf7932e6976c4f58123e32be8384c3f91b0a4d9f67c2f0","impliedFormat":1},{"version":"7e6a96b383da9f5acb848bb9dedb9ac8489df7cec46bbf26aeaed2610f709078","impliedFormat":1},{"version":"9fac6ebf3c60ced53dd21def30a679ec225fc3ff4b8d66b86326c285a4eebb5a","impliedFormat":1},{"version":"8cb83cb98c460cd716d2a98b64eb1a07a3a65c7362436550e02f5c2d212871d1","impliedFormat":1},{"version":"07bc8a3551e39e70c38e7293b1a09916867d728043e352b119f951742cb91624","impliedFormat":1},{"version":"e47adc2176f43c617c0ab47f2d9b2bb1706d9e0669bf349a30c3fe09ddd63261","impliedFormat":1},{"version":"7fec79dfd7319fec7456b1b53134edb54c411ba493a0aef350eee75a4f223eeb","impliedFormat":1},{"version":"189c489705bb96a308dcde9b3336011d08bfbca568bcaf5d5d55c05468e9de7a","impliedFormat":1},{"version":"98f4b1074567341764b580bf14c5aabe82a4390d11553780814f7e932970a6f7","impliedFormat":1},{"version":"1dd24cbf39199100fbe2f3dbd1c7203c240c41d95f66301ecc7650ae77875be1","impliedFormat":1},{"version":"2e252235037a2cd8feebfbf74aa460f783e5d423895d13f29a934d7655a1f8be","impliedFormat":1},{"version":"3bd10a31e9066676e0af937c2ef2507451281861ae294d04c7c46e46706140d9","impliedFormat":1},"0ade08577fa93af5c685e0238d1c7e2fbb9564efdf397d325d4f69c6b8fab21b",{"version":"64604f63c6f4540eb43bc6c10c1e33d36f44391e24a51cdab314dfed2bab37b2","impliedFormat":1},{"version":"54710d1bc650819d3e26feab61297a348183f66d70aa2658aa9051b0b907c690","signature":"aed69550f30d5bd1459528b1cac5dd74974fae3412378769ff4d170ef98a3429"},{"version":"36968edbe7829212de82e5fefa5731bfdad85134647e05c4e6f74363706a1fdc","signature":"6e8b99a6f66e18952d6eb55ad128a91ab86381f33f0a58d78b0d8bbd7c86e54c"},{"version":"0d4a0e7b46d1c70a10728a913503d1dba8027848b1bf1bead6c1180448978d4c","signature":"4038e9eccd46a47f517840e0fc7783a301b0630bdb34f2256f5ad5479ca550e7"},{"version":"aa7becf27712b7af1e3528690ee9bf1b0bf95a648d6284a016ac66a687991a9e","signature":"a7fbccca275d9e69adf7a23aaef0a26bf70529293557a09639ffa8c9eb8468f8"},{"version":"7df8b90c81388fc7c0ced801b115a2be2ae0460ff21605bd8124e2f0f89c610d","signature":"51f0080708ed8a57f1aeee9125af2d47133c35b44c4039f99123176966f8f4b5"},{"version":"0f4199acf817b6904d861aedf213473efe1df93598294a2441b8bc984392dc79","signature":"d95f76625bcb3e761377669fbf3e7bac03d9df11b5fdc26e8de62f3b19a03b51"},{"version":"ec4c3ae98d4776550d98bd51303c3374e0181f13230122995c25cf9319e1a570","signature":"b2b9c5392adb681ac69b4e2282bcc1d1f47f184688b8c3eb902c3d49fe1db28d"},{"version":"53dcd252fd68e8655c4643e1faf729925a6a70006b7d64eb4bd4692079ebcadf","signature":"8b0cd581e13a7456ae794e648e497a687c57c2705c0052c6ff535f7c0f26e6b0"},{"version":"3d3a84b1c7cde430bdffc084588ea079ef6fe799cf15b212f6a2cc73d98c0bbc","signature":"2a7da54360ab9b1c7c15c2dd59896471c32b77e1007501afeb26014b68aca5e9"},{"version":"a97a2632a60b6927a8a122dcb09fb0dcb3618cfb54df06da013e940db2629f3c","signature":"62d7146b6033f39f1c181d79cf2d1a032d939d368d03efcc82b7777ffe6c6e52"},{"version":"a558d500453a3761bc3bb930f5085dfe71fd664674353d88117ef1ac4f0c5ee9","signature":"b4237fb569f4861423802b22ba60d65e6d6ce64425edc2e053c121528b878811"},{"version":"b97a71f04fdaaa776ac0532595502c98c3674e2456076075193d2aaa2f134754","signature":"3c5d1df2fc3338016640928f5247fd16ea2462fed427dd9b5f56103b7366f8da"},{"version":"c31d9ef5adb656967c5768395f39967458707df4f96f8aaad15772837db3a311","signature":"107fb7902c933d0b78f8cc37b807b40a28ba3f2d0bb043cc2626e7df253f748c"},{"version":"077be4f4e9059ea04006297d99c76defcf0304e7b8a64d410a465f344c83690c","signature":"6959bfbe91bade6829565b9709ba9df0a539e4eff5d98d6573b698dbf292345a"},{"version":"74e0559c1fd595d906e624b36a09917eca5c7dc11e53ac888c4fcb0cb981096f","signature":"6b8995498c75071f733bd682241d66cc1e9a1a5e996b6a054772f029338c70ea"},{"version":"87e0647c44c149c1a46eefb9f747023c1fa135df5c4e31384ced075d01738eb2","signature":"792fbd458c1bfb96c2a36e62358c962a01d253de053cdcc39f9c2548424e337e"},{"version":"4035c3345ea8419e034c9e553e3f1672502f0e17135144f375a1e9ea0687cb85","signature":"6045080c7dee4adaa62d8033a52129132dca2c9730f643dc0639f04c5a372e61"},{"version":"3dd64be53e93e3ecc92be5242360303518ab6e2c4c07db842fc57ed8e6b6ba3c","signature":"c3faf62a0c870a66e598df6bb6185fd8fef6630f0be7c75d5bf55a15ad7051be"},{"version":"e7111cf88cd770563ce8da230c4ed0512ef0d22270da578cc444a3d05a8c6bac","signature":"595543bcc7180c7eef7c1d986cefcd7738fdb2740d525c9b9497f03548e98240"},{"version":"120a1df0693d0456d3fe1217426838cbc7610e94b8e7466d387b6a06c807ddd4","signature":"cf768eb589cb18f5bd7f1f78f1f4c71be7c5738ffc57c947309fc2a9c9b89cef"},{"version":"eb4b22770ca3b0fbdb52674aa331fffc07d4d596b9cc3e0454bfefc3e8eceb30","signature":"9188bc0c68385596185616f43589df5df4906a6e433884ee33299bfdcbf88194"},{"version":"6f0f94966ee7f10d60a680cf0ce48b015fc0c3891bbb1532bff7b5d3f801371c","signature":"78f69f87f6c6592412816873bd96c543f9850ed4fff8d595b2f774fd8d2a97bf"},{"version":"5957be8f12db0bbf1e72729d3272686c609282dbe5103d024a5d3736f0315ee6","signature":"49ac5908e63671992ae6894d293c53ce218dfae8dae08bdfeb74c63d152bb552"}],"root":[61,564,565,597,647,648,[651,666],[722,733],[754,756],847,[849,871]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./dist","removeComments":true,"rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":true,"target":8},"referencedMap":[[562,1],[561,2],[339,3],[326,3],[63,3],[315,4],[316,4],[317,3],[318,5],[328,6],[319,4],[320,7],[321,3],[322,3],[323,4],[324,4],[325,4],[327,8],[335,9],[337,3],[334,3],[341,10],[338,3],[336,3],[332,11],[333,12],[340,13],[342,14],[329,3],[331,15],[330,16],[269,3],[272,17],[268,3],[804,3],[270,3],[271,3],[345,18],[346,18],[347,18],[348,18],[349,18],[350,18],[351,18],[344,19],[352,18],[366,20],[353,18],[343,3],[354,18],[355,18],[356,18],[357,18],[358,18],[359,18],[360,18],[361,18],[362,18],[363,18],[364,18],[365,18],[374,21],[372,22],[371,3],[370,3],[373,23],[414,24],[64,3],[65,3],[66,3],[786,25],[68,26],[792,27],[791,28],[258,29],[259,26],[394,3],[288,3],[289,3],[395,30],[260,3],[396,3],[397,31],[67,3],[262,32],[263,33],[261,34],[264,32],[265,3],[267,35],[279,36],[280,3],[285,37],[281,3],[282,3],[283,3],[284,3],[286,3],[287,38],[293,39],[296,40],[294,3],[295,3],[314,41],[297,3],[298,3],[834,42],[278,43],[276,44],[274,45],[275,46],[277,3],[305,47],[299,3],[308,48],[301,49],[306,50],[304,51],[307,52],[302,53],[303,54],[291,55],[310,56],[292,57],[312,58],[313,59],[300,3],[309,3],[266,3],[273,60],[311,61],[380,62],[375,3],[381,63],[376,64],[377,65],[378,66],[379,67],[382,68],[387,69],[385,70],[386,70],[393,71],[383,3],[384,72],[388,69],[390,73],[392,74],[391,75],[406,76],[399,77],[400,78],[401,78],[402,79],[403,79],[404,78],[405,78],[398,80],[408,81],[407,82],[410,83],[409,84],[411,85],[367,86],[369,87],[290,3],[368,55],[412,88],[389,89],[413,90],[415,5],[552,91],[553,92],[557,93],[416,3],[422,94],[550,95],[551,96],[417,3],[418,3],[421,97],[419,3],[420,3],[555,3],[556,98],[554,99],[558,100],[734,101],[757,102],[777,103],[778,104],[779,3],[780,105],[781,106],[790,107],[783,108],[787,109],[795,110],[793,5],[794,111],[784,112],[796,3],[798,113],[799,114],[800,115],[789,116],[785,117],[809,118],[797,119],[823,120],[782,121],[824,122],[821,123],[822,5],[846,124],[772,125],[768,126],[770,127],[820,128],[763,129],[811,130],[810,3],[771,131],[817,132],[775,133],[818,3],[819,134],[773,135],[774,136],[769,137],[767,138],[762,3],[815,139],[827,140],[825,5],[758,5],[814,141],[759,12],[760,104],[761,142],[765,143],[764,144],[826,145],[766,146],[803,147],[801,113],[802,148],[812,12],[813,149],[689,150],[830,151],[831,152],[828,153],[829,154],[832,155],[833,156],[835,157],[808,158],[805,159],[806,4],[807,148],[837,160],[836,161],[843,162],[776,5],[839,163],[838,5],[841,164],[840,3],[842,165],[788,166],[816,167],[845,168],[844,5],[573,169],[569,170],[568,171],[570,3],[571,172],[572,173],[574,174],[575,3],[579,175],[593,176],[576,5],[578,177],[577,3],[580,178],[591,179],[592,180],[594,181],[738,182],[739,183],[753,184],[741,185],[740,186],[735,187],[736,3],[737,3],[752,188],[743,189],[744,189],[745,189],[746,189],[748,190],[747,189],[749,191],[750,192],[742,3],[751,193],[645,3],[598,3],[599,3],[602,194],[626,195],[603,3],[604,3],[605,5],[608,3],[606,3],[627,3],[609,3],[610,196],[611,3],[607,3],[612,5],[613,3],[614,197],[616,198],[617,3],[619,199],[620,198],[622,200],[628,201],[623,197],[624,197],[621,3],[629,202],[634,203],[646,204],[625,3],[615,197],[633,205],[600,3],[618,206],[631,207],[632,3],[630,3],[635,208],[636,5],[641,209],[637,5],[638,5],[639,5],[640,5],[601,3],[643,200],[642,3],[644,210],[668,211],[667,212],[683,3],[669,3],[670,3],[684,213],[671,5],[681,214],[682,3],[686,215],[685,3],[687,5],[688,216],[691,217],[692,218],[672,219],[676,220],[673,3],[674,3],[675,3],[680,221],[690,3],[677,61],[678,3],[679,3],[559,3],[563,222],[560,223],[848,223],[60,3],[710,3],[588,224],[587,225],[701,225],[584,226],[589,227],[585,3],[567,228],[566,3],[486,229],[487,229],[488,230],[425,231],[489,232],[490,233],[491,234],[423,3],[492,235],[493,236],[494,237],[495,238],[496,239],[497,240],[498,240],[499,241],[500,242],[501,243],[502,244],[426,3],[424,3],[503,245],[504,246],[505,247],[548,248],[506,249],[507,250],[508,249],[509,251],[510,252],[512,253],[513,254],[514,254],[515,254],[516,255],[517,256],[518,257],[519,258],[520,259],[521,260],[522,260],[523,261],[524,3],[525,3],[526,262],[527,263],[528,264],[529,262],[530,265],[531,266],[532,267],[533,268],[534,269],[535,270],[536,271],[537,272],[538,273],[539,274],[540,275],[541,276],[542,277],[543,278],[544,279],[427,249],[428,3],[429,280],[430,281],[431,3],[432,282],[433,3],[477,283],[478,284],[479,285],[480,285],[481,286],[482,3],[483,232],[484,287],[485,284],[545,288],[546,289],[547,290],[650,291],[649,292],[590,293],[582,3],[583,3],[581,294],[586,295],[698,296],[596,297],[595,3],[511,3],[549,298],[59,3],[693,3],[695,299],[694,299],[696,300],[702,3],[709,301],[697,3],[703,302],[700,303],[699,304],[707,305],[704,306],[705,307],[706,308],[708,309],[62,3],[257,310],[230,3],[208,311],[206,311],[256,312],[221,313],[220,313],[121,314],[72,315],[228,314],[229,314],[231,316],[232,314],[233,317],[132,318],[234,314],[205,314],[235,314],[236,319],[237,314],[238,313],[239,320],[240,314],[241,314],[242,314],[243,314],[244,313],[245,314],[246,314],[247,314],[248,314],[249,321],[250,314],[251,314],[252,314],[253,314],[254,314],[71,312],[74,317],[75,317],[76,317],[77,317],[78,317],[79,317],[80,317],[81,314],[83,322],[84,317],[82,317],[85,317],[86,317],[87,317],[88,317],[89,317],[90,317],[91,314],[92,317],[93,317],[94,317],[95,317],[96,317],[97,314],[98,317],[99,317],[100,317],[101,317],[102,317],[103,317],[104,314],[106,323],[105,317],[107,317],[108,317],[109,317],[110,317],[111,321],[112,314],[113,314],[127,324],[115,325],[116,317],[117,317],[118,314],[119,317],[120,317],[122,326],[123,317],[124,317],[125,317],[126,317],[128,317],[129,317],[130,317],[131,317],[133,327],[134,317],[135,317],[136,317],[137,314],[138,317],[139,328],[140,328],[141,328],[142,314],[143,317],[144,317],[145,317],[150,317],[146,317],[147,314],[148,317],[149,314],[151,317],[152,317],[153,317],[154,317],[155,317],[156,317],[157,314],[158,317],[159,317],[160,317],[161,317],[162,317],[163,317],[164,317],[165,317],[166,317],[167,317],[168,317],[169,317],[170,317],[171,317],[172,317],[173,317],[174,329],[175,317],[176,317],[177,317],[178,317],[179,317],[180,317],[181,314],[182,314],[183,314],[184,314],[185,314],[186,317],[187,317],[188,317],[189,317],[207,330],[255,314],[192,331],[191,332],[215,333],[214,334],[210,335],[209,334],[211,336],[200,337],[198,338],[213,339],[212,336],[199,3],[201,340],[114,341],[70,342],[69,317],[204,3],[196,343],[197,344],[194,3],[195,345],[193,317],[202,346],[73,347],[222,3],[223,3],[216,3],[219,313],[218,3],[224,3],[225,3],[217,348],[226,3],[227,3],[190,349],[203,350],[715,351],[714,249],[716,352],[711,353],[718,354],[713,355],[721,356],[720,357],[717,358],[719,359],[712,249],[56,3],[57,3],[11,3],[9,3],[10,3],[15,3],[14,3],[2,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[3,3],[24,3],[25,3],[4,3],[26,3],[30,3],[27,3],[28,3],[29,3],[31,3],[32,3],[33,3],[5,3],[34,3],[35,3],[36,3],[37,3],[6,3],[41,3],[38,3],[39,3],[40,3],[42,3],[7,3],[43,3],[48,3],[49,3],[44,3],[45,3],[46,3],[47,3],[8,3],[58,3],[53,3],[50,3],[51,3],[52,3],[54,3],[1,3],[55,3],[13,3],[12,3],[452,360],[465,361],[449,362],[466,363],[475,364],[440,365],[441,366],[439,367],[474,298],[469,368],[473,369],[443,370],[462,371],[442,372],[472,373],[437,374],[438,368],[444,375],[445,3],[451,376],[448,375],[435,377],[476,378],[467,379],[455,380],[454,375],[456,381],[459,382],[453,383],[457,384],[470,298],[446,385],[447,386],[460,387],[436,363],[464,388],[463,375],[450,386],[458,389],[461,390],[468,3],[434,3],[471,391],[61,392],[756,393],[648,394],[652,395],[597,396],[647,397],[651,398],[666,399],[722,400],[723,401],[665,402],[663,403],[664,404],[662,402],[870,405],[871,406],[867,407],[849,3],[850,408],[851,409],[869,410],[868,411],[852,407],[853,407],[854,407],[855,407],[856,407],[857,407],[858,407],[859,407],[860,407],[861,407],[862,407],[863,407],[864,407],[865,407],[866,407],[725,412],[726,413],[724,402],[847,414],[565,402],[564,415],[657,416],[658,417],[656,402],[731,418],[732,419],[730,402],[660,420],[661,421],[659,402],[728,422],[729,423],[727,402],[754,424],[755,425],[733,5],[654,426],[655,427],[653,402]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871],"version":"6.0.3"} \ No newline at end of file