diff --git a/.changeset/spicy-beans-build.md b/.changeset/spicy-beans-build.md new file mode 100644 index 0000000000..38cd8d418c --- /dev/null +++ b/.changeset/spicy-beans-build.md @@ -0,0 +1,6 @@ +--- +"@electric-sql/debug-toolbar": patch +"electric-sql": patch +--- + +Adding debug toolbar diff --git a/.github/workflows/toolbar_tests.yml b/.github/workflows/toolbar_tests.yml new file mode 100644 index 0000000000..d25be11909 --- /dev/null +++ b/.github/workflows/toolbar_tests.yml @@ -0,0 +1,63 @@ +name: Toolbar / Tests + +on: + push: + branches: + - main + pull_request: + paths: + - 'pnpm-lock.yaml' + - 'components/toolbar/**' + +defaults: + run: + working-directory: components/toolbar + +jobs: + verify_formatting: + name: Check formatting & linting + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: 8 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: pnpm + - run: make deps + - run: pnpm run check-styleguide + check_types: + name: Check types + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: 8 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: pnpm + - run: make deps + - run: pnpm run typecheck + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [16, 18, 20] + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: 8 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: pnpm + - name: Install + run: make deps + - name: Run tests + run: make tests diff --git a/clients/typescript/src/satellite/index.ts b/clients/typescript/src/satellite/index.ts index 29622dcd34..61b02c0b66 100644 --- a/clients/typescript/src/satellite/index.ts +++ b/clients/typescript/src/satellite/index.ts @@ -35,6 +35,7 @@ import { ShapeSubscription } from './process' import { DbSchema } from '../client/model/schema' import { QualifiedTablename } from '../util' +export { MockRegistry } from './mock' export { SatelliteProcess } from './process' export { GlobalRegistry, globalRegistry } from './registry' export type { ShapeSubscription } from './process' diff --git a/clients/typescript/src/satellite/mock.ts b/clients/typescript/src/satellite/mock.ts index 8d1b288f5f..5133e65961 100644 --- a/clients/typescript/src/satellite/mock.ts +++ b/clients/typescript/src/satellite/mock.ts @@ -72,6 +72,7 @@ export class MockSatelliteProcess implements Satellite { socketFactory: SocketFactory opts: SatelliteOpts token: string | undefined + connectivityState?: ConnectivityState constructor( dbName: DbName, @@ -87,8 +88,9 @@ export class MockSatelliteProcess implements Satellite { this.notifier = notifier this.socketFactory = socketFactory this.opts = opts + this.connectivityState = { status: 'disconnected' } } - connectivityState?: ConnectivityState | undefined + subscribe(_shapeDefinitions: Shape[]): Promise { return Promise.resolve({ synced: Promise.resolve(), @@ -161,6 +163,11 @@ export class MockRegistry extends BaseRegistry { const opts = { ...satelliteDefaults, ...overrides } + const satellites = this.satellites + if (satellites[dbName] !== undefined) { + return satellites[dbName] + } + const satellite = new MockSatelliteProcess( dbName, adapter, @@ -169,8 +176,8 @@ export class MockRegistry extends BaseRegistry { socketFactory, opts ) + this.satellites[dbName] = satellite await satellite.start() - return satellite } } diff --git a/components/toolbar/.gitignore b/components/toolbar/.gitignore new file mode 100644 index 0000000000..edd0600f67 --- /dev/null +++ b/components/toolbar/.gitignore @@ -0,0 +1,5 @@ +dist +node_modules + +# We're ignoring the lockfiles here because this example is meant to act like `npx create-electric-app` in that they use latest deps +pnpm-lock.yaml \ No newline at end of file diff --git a/components/toolbar/.prettierignore b/components/toolbar/.prettierignore new file mode 100644 index 0000000000..c1480a876f --- /dev/null +++ b/components/toolbar/.prettierignore @@ -0,0 +1,8 @@ +*.log +*.md +.DS_Store +dist/ +node_modules/ +test/generated/ +.gitignore +.github/ diff --git a/components/toolbar/.prettierrc.json b/components/toolbar/.prettierrc.json new file mode 100644 index 0000000000..b2095be81e --- /dev/null +++ b/components/toolbar/.prettierrc.json @@ -0,0 +1,4 @@ +{ + "semi": false, + "singleQuote": true +} diff --git a/components/toolbar/Makefile b/components/toolbar/Makefile new file mode 100644 index 0000000000..3dd65897f0 --- /dev/null +++ b/components/toolbar/Makefile @@ -0,0 +1,9 @@ +deps: + pnpm install --frozen-lockfile + make -C ../../clients/typescript build + +build: deps + pnpm run build + +tests: + CI=true pnpm run test diff --git a/components/toolbar/README.md b/components/toolbar/README.md new file mode 100644 index 0000000000..2dac959bdb --- /dev/null +++ b/components/toolbar/README.md @@ -0,0 +1,46 @@ + + + + + ElectricSQL logo + + + +# ElectricSQL - Developer Toolbar + +These are a collection of tools that can be used by developers to help them debug their ElectricSQL apps + +## Adding this toolbar to your project + +Add the toolbar to your project's `devDependencies` in `package.json` + +```sh + "devDependencies": { + ... + "@electric-sql/debug-toolbar": "latest", + ... + } +``` + +In your code after calling `electrify`, if in debug mode, import and pass the electric client into `addToolbar`: + +```typescript +const electric = await electrify(conn, schema, config) + +if (config.debug) { + const { addToolbar } = await import('@electric-sql/debug-toolbar') + addToolbar(electric) +} +``` + +This will add the toolbar to the bottom of your window + + + + diff --git a/components/toolbar/builder.js b/components/toolbar/builder.js new file mode 100644 index 0000000000..f5897879eb --- /dev/null +++ b/components/toolbar/builder.js @@ -0,0 +1,42 @@ +import { build } from 'esbuild' +import inlineImage from 'esbuild-plugin-inline-image' +import inlineImport from 'esbuild-plugin-inline-import' +import packageJson from './package.json' assert { type: 'json' } +const { dependencies } = packageJson + +const entryFile = 'src/index.tsx' +const shared = { + bundle: true, + entryPoints: [entryFile], + // Treat all dependencies in package.json as externals to keep bundle size to a minimum + external: Object.keys(dependencies), + logLevel: 'info', + minify: true, + sourcemap: true, + target: ['esnext', 'node12.22.0'], + plugins: [ + inlineImage(), + inlineImport({ + filter: /index\.css$/, + transform: (content) => { + // Remove comments + content = content.replace(/\/\*[\s\S]*?\*\//g, '') + // Remove whitespace and newlines + content = content.replace(/\n/g, '').replace(/\s\s+/g, ' ') + return content + }, + }), + ], +} + +build({ + ...shared, + format: 'esm', + outfile: './dist/index.esm.js', +}) + +build({ + ...shared, + format: 'cjs', + outfile: './dist/index.cjs.js', +}) diff --git a/components/toolbar/package.json b/components/toolbar/package.json new file mode 100644 index 0000000000..44d5844666 --- /dev/null +++ b/components/toolbar/package.json @@ -0,0 +1,46 @@ +{ + "name": "@electric-sql/debug-toolbar", + "version": "0.1.0", + "type": "module", + "main": "dist/index.cjs.js", + "module": "dist/index.esm.js", + "types": "dist/index.d.ts", + "author": "ElectricSQL", + "license": "Apache-2.0", + "scripts": { + "build": "rm -rf ./dist && node builder.js && tsc -p tsconfig.build.json", + "check-styleguide": "prettier --check --loglevel warn .", + "typecheck": "tsc --noEmit", + "test": "vitest run" + }, + "engines": { + "node": ">=16.11.0" + }, + "dependencies": { + "codemirror": "^5.65.16", + "react": "^18.2.0", + "react-codemirror2": "^8.0.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/better-sqlite3": "7.6.3", + "@types/node": "^20.12.7", + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", + "better-sqlite3": "^8.4.0", + "electric-sql": "workspace:*", + "esbuild": "^0.20.2", + "esbuild-plugin-inline-image": "^0.0.9", + "esbuild-plugin-inline-import": "^1.0.4", + "jsdom": "24.0.0", + "prettier": "3.2.5", + "typescript": "^5.4.5", + "vitest": "^1.5.0" + }, + "peerDependencies": { + "electric-sql": "workspace:*" + }, + "files": [ + "dist" + ] +} diff --git a/components/toolbar/src/SvgModule.d.ts b/components/toolbar/src/SvgModule.d.ts new file mode 100644 index 0000000000..ec884c5ee3 --- /dev/null +++ b/components/toolbar/src/SvgModule.d.ts @@ -0,0 +1,6 @@ +declare module '*.svg' { + import React = require('react') + export const ReactComponent: React.FC> + const src: string + export default src +} diff --git a/components/toolbar/src/api/interface.ts b/components/toolbar/src/api/interface.ts new file mode 100644 index 0000000000..21956d4adc --- /dev/null +++ b/components/toolbar/src/api/interface.ts @@ -0,0 +1,19 @@ +import { Row, Statement, ConnectivityState } from 'electric-sql/util' + +export type UnsubscribeFunction = () => void + +export interface ToolbarInterface { + getSatelliteNames(): string[] + getSatelliteStatus(name: string): ConnectivityState | null + subscribeToSatelliteStatus( + name: string, + callback: (connectivityState: ConnectivityState) => void, + ): UnsubscribeFunction + + toggleSatelliteStatus(name: string): Promise + + getSatelliteShapeSubscriptions(name: string): string[] + + resetDb(dbName: string): Promise + queryDb(dbName: string, statement: Statement): Promise +} diff --git a/components/toolbar/src/api/toolbar.ts b/components/toolbar/src/api/toolbar.ts new file mode 100644 index 0000000000..f2356f87f8 --- /dev/null +++ b/components/toolbar/src/api/toolbar.ts @@ -0,0 +1,79 @@ +import { ToolbarInterface, UnsubscribeFunction } from './interface' +import { Row, Statement, ConnectivityState } from 'electric-sql/util' +import { Registry, GlobalRegistry, Satellite } from 'electric-sql/satellite' +import { SubscriptionsManager } from 'electric-sql/satellite/shapes' + +export class Toolbar implements ToolbarInterface { + constructor(private registry: Registry | GlobalRegistry) {} + + private getSatellite(name: string): Satellite { + const sat = this.registry.satellites[name] + if (!sat) { + throw new Error(`Satellite for db ${name} not found.`) + } + return sat + } + + getSatelliteNames(): string[] { + return Object.keys(this.registry.satellites) + } + + getSatelliteStatus(name: string): ConnectivityState | null { + const sat = this.getSatellite(name) + return sat.connectivityState ?? null + } + + subscribeToSatelliteStatus( + name: string, + callback: (connectivityState: ConnectivityState) => void, + ): UnsubscribeFunction { + const sat = this.getSatellite(name) + + // call once immediately if connectivity state available + if (sat.connectivityState) { + callback(sat.connectivityState) + } + // subscribe to subsequent changes + return sat.notifier.subscribeToConnectivityStateChanges((notification) => + callback(notification.connectivityState), + ) + } + + toggleSatelliteStatus(name: string): Promise { + const sat = this.getSatellite(name) + if (sat.connectivityState?.status === 'connected') { + sat.clientDisconnect() + return Promise.resolve() + } + return sat.connectWithBackoff() + } + + getSatelliteShapeSubscriptions(name: string): string[] { + const sat = this.getSatellite(name) + //@ts-expect-error accessing private field + const manager = sat['subscriptions'] as SubscriptionsManager + const shapes = JSON.parse(manager.serialize()) as Record + return Object.entries(shapes).flatMap((shapeKeyDef) => + shapeKeyDef[1].map((x: any) => + JSON.stringify({ id: shapeKeyDef[0], ...x.definition }, null, 2), + ), + ) + } + + resetDb(dbName: string): Promise { + const DBDeleteRequest = window.indexedDB.deleteDatabase(dbName) + DBDeleteRequest.onsuccess = () => + console.log('Database deleted successfully') + + // the IndexedDB cannot be deleted if the database connection is still open, + // so we need to reload the page to close any open connections. + // On reload, the database will be recreated. + window.location.reload() + return Promise.resolve() + } + + queryDb(dbName: string, statement: Statement): Promise { + const sat = this.getSatellite(dbName) + return sat.adapter.query(statement) + } +} diff --git a/components/toolbar/src/css.d.ts b/components/toolbar/src/css.d.ts new file mode 100644 index 0000000000..5894ae0b6e --- /dev/null +++ b/components/toolbar/src/css.d.ts @@ -0,0 +1 @@ +declare module '*.css' diff --git a/components/toolbar/src/index.css b/components/toolbar/src/index.css new file mode 100644 index 0000000000..479fa03523 --- /dev/null +++ b/components/toolbar/src/index.css @@ -0,0 +1,242 @@ +@import url('https://fonts.cdnfonts.com/css/open-sauce-one'); + +#electric-toolbar { + all: revert; + position: absolute; + bottom: 0; + right: 0; + width: 100%; + padding: 10px; + z-index: 800; + box-sizing: border-box; +} + +.Toolbar { + all: revert; + border-color: lightgrey; + border-width: 1px; + border-style: solid; + border-radius: 5px; + height: fit-content; + font-family: 'open sauce one', 'Segoe UI', Inter, Helvetica, Arial, sans-serif; + font-size: 16px; + text-align: left; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: #201c1c; + color: white; + box-sizing: border-box; + width: 100%; +} + +.Toolbar-hidden { + width: 400px; + float: right; +} + +.Toolbar h3 { + all: revert; + margin-top: 20px; + margin-bottom: 20px; +} + +.Toolbar-header { + all: revert; + border-color: lightgrey; + border-width: 0 0 1px 0; + border-style: solid; + width: 100%; + font-family: OpenSauceOne, 'Segoe UI', Inter, Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + height: 30px; + box-sizing: border-box; +} + +.Toolbar-header-hidden { + border-width: 0; +} + +.Toolbar-logo { + all: revert; + width: 30px; + height: 30px; + margin: 0; + display: inline-block; + /*float: left;*/ + vertical-align: middle; +} + +.nav-text { + all: revert; + display: inline-block; + vertical-align: middle; +} + +.Toolbar-header button { + all: revert; + height: 20px; + margin-top: 5px; + margin-right: 10px; + float: right; + color: #61dafb; + border-style: solid; + border-width: 0; + background-color: #1c1e20; + border-color: #61dafb; + font-size: 0.8rem; + border-radius: 8px; +} + +.Toolbar-header select { + all: revert; + height: 20px; + margin-top: 5px; + margin-right: 10px; + float: right; + color: #61dafb; + border-style: solid; + border-width: 0; + background-color: #1c1e20; + border-color: #61dafb; + font-size: 0.8rem; + border-radius: 8px; + text-align: right; +} + +.Toolbar-tabs { + all: revert; + display: flex; + flex-direction: row; + align-items: flex-start; + padding: 20px; +} + +.Toolbar-tab-items { + all: revert; + flex-basis: 180px; + padding: 0; + margin: 0; +} + +.Toolbar-tab-item { + all: revert; + list-style: none; + padding: 5px; + background-color: #333; + color: #61dafb; + margin-bottom: 5px; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.Toolbar-tab-item:hover { + background-color: #777; +} + +.Toolbar-tab-item-active { + background-color: #555; + color: white; +} + +.Toolbar-tab-content { + all: revert; + flex-basis: 180px; + flex-grow: 4; + height: 33vh; + border-style: solid; + border-width: 0px; + border-radius: 2px; + border-color: #555; + margin-left: 20px; +} + +.Toolbar-tab-content button { + all: revert; + margin-right: 10px; + color: #61dafb; + border-style: solid; + border-width: 1px; + background-color: #1c1e20; + border-color: #61dafb; + width: 150px; + height: 25px; + font-size: 0.7rem; + border-radius: 4px; +} + +.Toolbar-tab-content button:hover { + background-color: rgba(97, 218, 251, 0.1); +} + +.Toolbar-tab-content button:active { + background-color: #61dafb; + color: #1c1e20; +} + +.CodeMirror { + height: 100%; + max-height: 100%; +} + +.mirror-wrapper { + height: 100%; +} + +.mirror-column { + float: left; + height: 100%; + width: calc(50% - 10px); + margin-left: 5px; + margin-right: 5px; +} + +.mirror-ctls { + background-color: #263238; + height: 35px; +} + +.mirror-in { + height: calc(100% - 55px); +} + +.mirror-history { + height: calc(100% - 55px); +} + +.mirror-out { + height: calc(100% - 55px); +} + +.react-codemirror2 { + height: 100%; +} + +.mirror-ctls button { + position: relative; + top: 4px; + float: right; + width: 110px; + height: 25px; + margin-right: 5px; + font-size: 0.7rem; +} + +.mirror-header { + height: 20px; + font-size: 0.9rem; +} + +.header-span { + margin-right: 10px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.header-span-button { + color: #61dafb; +} diff --git a/components/toolbar/src/index.tsx b/components/toolbar/src/index.tsx new file mode 100644 index 0000000000..533d951b63 --- /dev/null +++ b/components/toolbar/src/index.tsx @@ -0,0 +1,94 @@ +import React, { useEffect } from 'react' + +import 'codemirror/lib/codemirror.css' +import 'codemirror/theme/material.css' +import 'codemirror/mode/sql/sql' +import style from './index.css' + +import logo from './logo.svg' +import { useState } from 'react' +import ReactDOM from 'react-dom/client' + +import ToolbarTabs from './tabs' +import { ToolbarInterface } from './api/interface' +import { Toolbar } from './api/toolbar' +import { ElectricClient } from 'electric-sql/client/model' + +import { Registry, GlobalRegistry } from 'electric-sql/satellite' + +export type ToolbarProps = { + api: ToolbarInterface +} + +function ElectricToolbar({ api }: ToolbarProps) { + const [hidden, setHidden] = useState(true) + const [dbNames, setDbNames] = useState>([]) + const [dbName, setDbName] = useState('') + + useEffect(() => { + const names = api.getSatelliteNames() + setDbNames(names) + if (names.length > 0) { + setDbName(names[0]) + } + }, []) + + function handleClick() { + setHidden(!hidden) + } + + function handleSelect(e: React.ChangeEvent) { + setDbName(e.target.value) + } + + if (hidden) { + return ( +
+
+ logo + ElectricSQL Debug Tools + +
+
+ ) + } else { + return ( +
+
+ logo + ElectricSQL Debug Tools + + +
+ +
+ ) + } +} + +export function clientApi(registry: GlobalRegistry | Registry) { + return new Toolbar(registry) +} + +export function addToolbar(electric: ElectricClient) { + const toolbarApi = clientApi(electric.registry) + const toolbarDiv = document.createElement('div') + toolbarDiv.setAttribute('id', 'electric-toolbar') + toolbarDiv.setAttribute('class', 'electric-toolbar') + + const styleTag = document.createElement('style') + styleTag.innerHTML = style + document.head.appendChild(styleTag) + + document.body.appendChild(toolbarDiv) + const toolbarRoot = ReactDOM.createRoot( + document.getElementById('electric-toolbar') as HTMLElement, + ) + toolbarRoot.render() +} diff --git a/components/toolbar/src/logo.svg b/components/toolbar/src/logo.svg new file mode 100644 index 0000000000..f5ec440a63 --- /dev/null +++ b/components/toolbar/src/logo.svg @@ -0,0 +1,11 @@ + + + + diff --git a/components/toolbar/src/tabs.tsx b/components/toolbar/src/tabs.tsx new file mode 100644 index 0000000000..ddb7426eb1 --- /dev/null +++ b/components/toolbar/src/tabs.tsx @@ -0,0 +1,63 @@ +import React, { useState } from 'react' + +import LocalDBTab from './tabs/LocalDBTab' +import SQLTab from './tabs/SQLTab' +import StatusTab from './tabs/StatusTab' +import { ToolbarInterface } from './api/interface' +import ShapesTab from './tabs/ShapesTab' + +type TabName = 'status' | 'db' | 'sql' | 'shapes' + +function TabItem( + label: string, + name: TabName, + handleClick: (name: TabName) => void, + active: string, +): JSX.Element { + const className = + active == name + ? 'Toolbar-tab-item Toolbar-tab-item-active' + : 'Toolbar-tab-item' + return ( +
  • + {label} +
  • + ) +} + +export type ToolbarTabsProps = { + dbName: string + api: ToolbarInterface +} + +export default function ToolbarTabs({ + dbName, + api, +}: ToolbarTabsProps): JSX.Element { + const [active, setActive] = useState('status') + + function renderComp() { + switch (active) { + case 'db': + return + case 'sql': + return + case 'shapes': + return + default: + return + } + } + + return ( +
    +
      + {TabItem('Connection', 'status', setActive, active)} + {TabItem('Local DB', 'db', setActive, active)} + {TabItem('Shapes', 'shapes', setActive, active)} + {TabItem('Shell', 'sql', setActive, active)} +
    +
    {renderComp()}
    +
    + ) +} diff --git a/components/toolbar/src/tabs/LocalDBTab.tsx b/components/toolbar/src/tabs/LocalDBTab.tsx new file mode 100644 index 0000000000..bee2524205 --- /dev/null +++ b/components/toolbar/src/tabs/LocalDBTab.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import { ToolbarTabsProps } from '../tabs' + +export default function LocalDBTab({ + dbName, + api, +}: ToolbarTabsProps): JSX.Element { + return ( +
    +

    {dbName}

    + +
    + ) +} diff --git a/components/toolbar/src/tabs/SQLTab.tsx b/components/toolbar/src/tabs/SQLTab.tsx new file mode 100644 index 0000000000..c39740a5c6 --- /dev/null +++ b/components/toolbar/src/tabs/SQLTab.tsx @@ -0,0 +1,134 @@ +import React, { useState } from 'react' +import { Controlled as CodeMirrorControlled } from 'react-codemirror2' +import { ToolbarTabsProps } from '../tabs' + +export default function SQLTab({ dbName, api }: ToolbarTabsProps): JSX.Element { + const [code, setCode] = useState( + 'SELECT name FROM sqlite_schema\n' + + "WHERE type='table'\n" + + 'ORDER BY name;', + ) + const [response, setResponse] = useState('') + const [history, setHistory] = useState('') + const [active, setActive] = useState('query') + + function submitSQL() { + setHistory(history + code + '\n\n') + api.queryDb(dbName, { sql: code }).then( + (rows) => { + setResponse(JSON.stringify(rows, null, 4)) + }, + (err) => { + setResponse('Error: ' + err) + }, + ) + } + + function clearHistory() { + setHistory('') + } + + function renderQuery() { + return ( +
    +
    + query + + history + +
    +
    + { + setCode(value) + }} + options={{ + tabSize: 4, + mode: 'sql', + theme: 'material', + lineNumbers: true, + }} + /> +
    +
    + +
    +
    + ) + } + + function renderHistory() { + return ( +
    +
    + + query + + history +
    +
    + {}} + options={{ + readOnly: true, + tabSize: 4, + mode: 'sql', + theme: 'material', + lineNumbers: false, + }} + /> +
    +
    + +
    +
    + ) + } + + function switchInput() { + switch (active) { + case 'query': + return renderQuery() + case 'history': + return renderHistory() + default: + return
    + } + } + + return ( +
    + {switchInput()} +
    +
    results
    +
    + {}} + options={{ + readOnly: true, + tabSize: 4, + mode: 'json', + theme: 'material', + }} + /> +
    +
    + +
    +
    +
    + ) +} diff --git a/components/toolbar/src/tabs/ShapesTab.tsx b/components/toolbar/src/tabs/ShapesTab.tsx new file mode 100644 index 0000000000..7a0d0e74e0 --- /dev/null +++ b/components/toolbar/src/tabs/ShapesTab.tsx @@ -0,0 +1,37 @@ +import React, { useEffect, useState } from 'react' +import { Controlled as CodeMirrorControlled } from 'react-codemirror2' +import { ToolbarTabsProps } from '../tabs' + +export default function ShapesTab({ + dbName, + api, +}: ToolbarTabsProps): JSX.Element { + const [shapes, setShapes] = useState( + api.getSatelliteShapeSubscriptions(dbName), + ) + + useEffect(() => { + // periodically refresh shape subscriptions + const interval = setInterval( + () => setShapes(api.getSatelliteShapeSubscriptions(dbName)), + 1000, + ) + return () => clearInterval(interval) + }, [dbName, api]) + + return ( +
    + {}} + options={{ + readOnly: true, + tabSize: 4, + mode: 'text', + theme: 'material', + lineNumbers: false, + }} + /> +
    + ) +} diff --git a/components/toolbar/src/tabs/StatusTab.tsx b/components/toolbar/src/tabs/StatusTab.tsx new file mode 100644 index 0000000000..ab0d46adc4 --- /dev/null +++ b/components/toolbar/src/tabs/StatusTab.tsx @@ -0,0 +1,34 @@ +import React, { useEffect, useState } from 'react' +import { ToolbarTabsProps } from '../tabs' +import { ConnectivityState } from 'electric-sql/util' + +export default function StatusTab({ + dbName, + api, +}: ToolbarTabsProps): JSX.Element { + const [status, setStatus] = useState( + api.getSatelliteStatus(dbName), + ) + + useEffect(() => { + const unsubscribe = api.subscribeToSatelliteStatus(dbName, setStatus) + return unsubscribe + }, [dbName, api]) + + if (!status) { + return
    Waiting for satellite process...
    + } + + return ( +
    + + +
      +
    • status: {status.status}
    • + {status.reason &&
    • reason: {status.reason.message}
    • } +
    +
    + ) +} diff --git a/components/toolbar/test/api.test.ts b/components/toolbar/test/api.test.ts new file mode 100644 index 0000000000..49294361cf --- /dev/null +++ b/components/toolbar/test/api.test.ts @@ -0,0 +1,129 @@ +import { vi, expect, test, describe, beforeEach } from 'vitest' +import Database from 'better-sqlite3' +import { MockRegistry } from 'electric-sql/satellite' +import { electrify } from 'electric-sql/drivers/better-sqlite3' +import { schema } from './generated' +import { clientApi } from '../src' +import { MockIndexDB, MockLocation } from './mocks' +import { ConnectivityState } from 'electric-sql/util' + +const db = new Database(':memory:') +const electric = await electrify( + db, + schema, + {}, + { registry: new MockRegistry() }, +) + +await electric.connect('test-token') + +// test boilerplate copied from electric-sql/test/client/model/table.test.ts + +const tbl = electric.db.Post +const postTable = tbl +const userTable = electric.db.User +const profileTable = electric.db.Profile + +// Sync all shapes such that we don't get warnings on every query +await postTable.sync() +await userTable.sync() +await profileTable.sync() + +// Create a Post table in the DB first +function clear() { + db.exec('DROP TABLE IF EXISTS Post') + db.exec( + "CREATE TABLE IF NOT EXISTS Post('id' int PRIMARY KEY, 'title' varchar, 'contents' varchar, 'nbr' int, 'authorId' int);", + ) + db.exec('DROP TABLE IF EXISTS User') + db.exec( + "CREATE TABLE IF NOT EXISTS User('id' int PRIMARY KEY, 'name' varchar);", + ) + db.exec('DROP TABLE IF EXISTS Profile') + db.exec( + "CREATE TABLE IF NOT EXISTS Profile('id' int PRIMARY KEY, 'bio' varchar, 'userId' int);", + ) +} + +describe('api', () => { + beforeEach(() => { + clear() + electric.satellite.connectivityState = { status: 'disconnected' } + vi.unstubAllGlobals() + }) + + test('getSatelliteNames', async () => { + const api = clientApi(electric.registry) + const names = api.getSatelliteNames() + expect(names).toStrictEqual([':memory:']) + }) + + test('queryDb', async () => { + const api = clientApi(electric.registry) + const query = + 'SELECT name FROM sqlite_schema\n' + + "WHERE type='table'\n" + + 'ORDER BY name; ' + const result = await api.queryDb(':memory:', { sql: query }) + const expected = [{ name: 'Post' }, { name: 'Profile' }, { name: 'User' }] + expect(result).toStrictEqual(expected) + }) + + test('resetDb', async () => { + const mock = new MockIndexDB() + const mockLocation = new MockLocation() + vi.stubGlobal('window', { + ...window, + indexedDB: mock, + location: mockLocation, + }) + + const api = clientApi(electric.registry) + await api.resetDb(':memory:') + const deleted = mock.deletedDatabases() + expect(deleted).toStrictEqual([':memory:']) + }) + + test('getSatelliteStatus', async () => { + const api = clientApi(electric.registry) + const result = await api.getSatelliteStatus(':memory:') + expect(result?.status).toStrictEqual('disconnected') + }) + + test('subscribeToSatelliteStatus', async () => { + const api = clientApi(electric.registry) + const states: ConnectivityState[] = [] + const unsubscribe = api.subscribeToSatelliteStatus(':memory:', (state) => { + states.push(state) + }) + + expect(states).toHaveLength(1) + expect(states[0].status).toStrictEqual('disconnected') + electric.satellite.notifier.connectivityStateChanged(':memory:', { + status: 'connected', + }) + + expect(states).toHaveLength(2) + expect(states[1].status).toStrictEqual('connected') + + unsubscribe() + electric.satellite.notifier.connectivityStateChanged(':memory:', { + status: 'disconnected', + }) + expect(states).toHaveLength(2) + }) + + test('toggleSatelliteStatus', async () => { + const api = clientApi(electric.registry) + const connectSpy = vi.spyOn(electric.satellite, 'connectWithBackoff') + const disconnectSpy = vi.spyOn(electric.satellite, 'clientDisconnect') + + await api.toggleSatelliteStatus(':memory:') + expect(connectSpy).toHaveBeenCalledOnce() + expect(disconnectSpy).not.toHaveBeenCalled() + + electric.satellite.connectivityState = { status: 'connected' } + await api.toggleSatelliteStatus(':memory:') + expect(disconnectSpy).toHaveBeenCalledOnce() + }) +}) diff --git a/components/toolbar/test/generated/index.ts b/components/toolbar/test/generated/index.ts new file mode 100644 index 0000000000..be5f7c483e --- /dev/null +++ b/components/toolbar/test/generated/index.ts @@ -0,0 +1,8289 @@ +import { z } from '../../node_modules/electric-sql/node_modules/zod' +import type { Prisma } from './prismaClient' +import { + type TableSchema, + DbSchema, + Relation, + ElectricClient, + type HKT, +} from 'electric-sql/client/model' +import migrations from './migrations' + +///////////////////////////////////////// +// HELPER FUNCTIONS +///////////////////////////////////////// + +// JSON +//------------------------------------------------------ + +export type NullableJsonInput = Prisma.JsonValue | null + +export const JsonValue: z.ZodType = z.union([ + z.null(), + z.string(), + z.number(), + z.boolean(), + z.lazy(() => z.array(JsonValue)), + z.lazy(() => z.record(JsonValue)), +]) + +export type JsonValueType = z.infer + +export const NullableJsonValue = JsonValue.nullable() + +export type NullableJsonValueType = z.infer + +export const InputJsonValue: z.ZodType = z.union([ + z.null(), + z.string(), + z.number(), + z.boolean(), + z.lazy(() => z.array(InputJsonValue.nullable())), + z.lazy(() => z.record(InputJsonValue.nullable())), +]) + +export type InputJsonValueType = z.infer + +///////////////////////////////////////// +// ENUMS +///////////////////////////////////////// + +export const DataTypesScalarFieldEnumSchema = z.enum([ + 'id', + 'date', + 'time', + 'timetz', + 'timestamp', + 'timestamptz', + 'bool', + 'uuid', + 'int2', + 'int4', + 'int8', + 'float4', + 'float8', + 'json', + 'bytea', + 'relatedId', +]) + +export const DummyScalarFieldEnumSchema = z.enum(['id', 'timestamp']) + +export const ItemsScalarFieldEnumSchema = z.enum(['value', 'nbr']) + +export const JsonNullValueFilterSchema = z.enum([ + 'DbNull', + 'JsonNull', + 'AnyNull', +]) + +export const NullableJsonNullValueInputSchema = z.enum(['DbNull', 'JsonNull']) + +export const PostScalarFieldEnumSchema = z.enum([ + 'id', + 'title', + 'contents', + 'nbr', + 'authorId', +]) + +export const ProfileImageScalarFieldEnumSchema = z.enum(['id', 'image']) + +export const ProfileScalarFieldEnumSchema = z.enum([ + 'id', + 'bio', + 'meta', + 'userId', + 'imageId', +]) + +export const QueryModeSchema = z.enum(['default', 'insensitive']) + +export const SortOrderSchema = z.enum(['asc', 'desc']) + +export const TransactionIsolationLevelSchema = z.enum([ + 'ReadUncommitted', + 'ReadCommitted', + 'RepeatableRead', + 'Serializable', +]) + +export const UserScalarFieldEnumSchema = z.enum(['id', 'name', 'meta']) +///////////////////////////////////////// +// MODELS +///////////////////////////////////////// + +///////////////////////////////////////// +// ITEMS SCHEMA +///////////////////////////////////////// + +export const ItemsSchema = z.object({ + value: z.string(), + nbr: z.number().int().gte(-2147483648).lte(2147483647).nullable(), +}) + +export type Items = z.infer + +///////////////////////////////////////// +// USER SCHEMA +///////////////////////////////////////// + +export const UserSchema = z.object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + name: z.string().nullable(), + meta: z.string().nullable(), +}) + +export type User = z.infer + +///////////////////////////////////////// +// POST SCHEMA +///////////////////////////////////////// + +export const PostSchema = z.object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + title: z.string(), + contents: z.string(), + nbr: z.number().int().gte(-2147483648).lte(2147483647).nullable(), + authorId: z.number().int().gte(-2147483648).lte(2147483647), +}) + +export type Post = z.infer + +///////////////////////////////////////// +// PROFILE SCHEMA +///////////////////////////////////////// + +export const ProfileSchema = z.object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + bio: z.string(), + meta: NullableJsonValue.optional(), + userId: z.number().int().gte(-2147483648).lte(2147483647), + imageId: z.string().nullable(), +}) + +export type Profile = z.infer + +///////////////////////////////////////// +// PROFILE IMAGE SCHEMA +///////////////////////////////////////// + +export const ProfileImageSchema = z.object({ + id: z.string(), + image: z.instanceof(Uint8Array), +}) + +export type ProfileImage = z.infer + +///////////////////////////////////////// +// DATA TYPES SCHEMA +///////////////////////////////////////// + +export const DataTypesSchema = z.object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + date: z.coerce.date().nullable(), + time: z.coerce.date().nullable(), + timetz: z.coerce.date().nullable(), + timestamp: z.coerce.date().nullable(), + timestamptz: z.coerce.date().nullable(), + bool: z.boolean().nullable(), + uuid: z.string().uuid().nullable(), + int2: z.number().int().gte(-32768).lte(32767).nullable(), + int4: z.number().int().gte(-2147483648).lte(2147483647).nullable(), + int8: z.bigint().nullable(), + float4: z.number().or(z.nan()).nullable(), + float8: z.number().or(z.nan()).nullable(), + json: NullableJsonValue.optional(), + bytea: z.instanceof(Uint8Array).nullable(), + relatedId: z.number().int().gte(-2147483648).lte(2147483647).nullable(), +}) + +export type DataTypes = z.infer + +///////////////////////////////////////// +// DUMMY SCHEMA +///////////////////////////////////////// + +export const DummySchema = z.object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + timestamp: z.coerce.date().nullable(), +}) + +export type Dummy = z.infer + +///////////////////////////////////////// +// SELECT & INCLUDE +///////////////////////////////////////// + +// ITEMS +//------------------------------------------------------ + +export const ItemsSelectSchema: z.ZodType = z + .object({ + value: z.boolean().optional(), + nbr: z.boolean().optional(), + }) + .strict() + +// USER +//------------------------------------------------------ + +export const UserIncludeSchema: z.ZodType = z + .object({ + posts: z + .union([z.boolean(), z.lazy(() => PostFindManyArgsSchema)]) + .optional(), + profile: z.union([z.boolean(), z.lazy(() => ProfileArgsSchema)]).optional(), + _count: z + .union([z.boolean(), z.lazy(() => UserCountOutputTypeArgsSchema)]) + .optional(), + }) + .strict() + +export const UserArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => UserSelectSchema).optional(), + include: z.lazy(() => UserIncludeSchema).optional(), + }) + .strict() + +export const UserCountOutputTypeArgsSchema: z.ZodType = + z + .object({ + select: z.lazy(() => UserCountOutputTypeSelectSchema).nullish(), + }) + .strict() + +export const UserCountOutputTypeSelectSchema: z.ZodType = + z + .object({ + posts: z.boolean().optional(), + }) + .strict() + +export const UserSelectSchema: z.ZodType = z + .object({ + id: z.boolean().optional(), + name: z.boolean().optional(), + meta: z.boolean().optional(), + posts: z + .union([z.boolean(), z.lazy(() => PostFindManyArgsSchema)]) + .optional(), + profile: z.union([z.boolean(), z.lazy(() => ProfileArgsSchema)]).optional(), + _count: z + .union([z.boolean(), z.lazy(() => UserCountOutputTypeArgsSchema)]) + .optional(), + }) + .strict() + +// POST +//------------------------------------------------------ + +export const PostIncludeSchema: z.ZodType = z + .object({ + author: z.union([z.boolean(), z.lazy(() => UserArgsSchema)]).optional(), + }) + .strict() + +export const PostArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => PostSelectSchema).optional(), + include: z.lazy(() => PostIncludeSchema).optional(), + }) + .strict() + +export const PostSelectSchema: z.ZodType = z + .object({ + id: z.boolean().optional(), + title: z.boolean().optional(), + contents: z.boolean().optional(), + nbr: z.boolean().optional(), + authorId: z.boolean().optional(), + author: z.union([z.boolean(), z.lazy(() => UserArgsSchema)]).optional(), + }) + .strict() + +// PROFILE +//------------------------------------------------------ + +export const ProfileIncludeSchema: z.ZodType = z + .object({ + user: z.union([z.boolean(), z.lazy(() => UserArgsSchema)]).optional(), + image: z + .union([z.boolean(), z.lazy(() => ProfileImageArgsSchema)]) + .optional(), + }) + .strict() + +export const ProfileArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => ProfileSelectSchema).optional(), + include: z.lazy(() => ProfileIncludeSchema).optional(), + }) + .strict() + +export const ProfileSelectSchema: z.ZodType = z + .object({ + id: z.boolean().optional(), + bio: z.boolean().optional(), + meta: z.boolean().optional(), + userId: z.boolean().optional(), + user: z.union([z.boolean(), z.lazy(() => UserArgsSchema)]).optional(), + imageId: z.boolean().optional(), + image: z + .union([z.boolean(), z.lazy(() => ProfileImageArgsSchema)]) + .optional(), + }) + .strict() + +// PROFILE IMAGE +//------------------------------------------------------ + +export const ProfileImageIncludeSchema: z.ZodType = + z + .object({ + profile: z + .union([z.boolean(), z.lazy(() => ProfileArgsSchema)]) + .optional(), + }) + .strict() + +export const ProfileImageArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => ProfileImageSelectSchema).optional(), + include: z.lazy(() => ProfileImageIncludeSchema).optional(), + }) + .strict() + +export const ProfileImageSelectSchema: z.ZodType = z + .object({ + id: z.boolean().optional(), + image: z.boolean().optional(), + profile: z.union([z.boolean(), z.lazy(() => ProfileArgsSchema)]).optional(), + }) + .strict() + +// DATA TYPES +//------------------------------------------------------ + +export const DataTypesIncludeSchema: z.ZodType = z + .object({ + related: z.union([z.boolean(), z.lazy(() => DummyArgsSchema)]).optional(), + }) + .strict() + +export const DataTypesArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => DataTypesSelectSchema).optional(), + include: z.lazy(() => DataTypesIncludeSchema).optional(), + }) + .strict() + +export const DataTypesSelectSchema: z.ZodType = z + .object({ + id: z.boolean().optional(), + date: z.boolean().optional(), + time: z.boolean().optional(), + timetz: z.boolean().optional(), + timestamp: z.boolean().optional(), + timestamptz: z.boolean().optional(), + bool: z.boolean().optional(), + uuid: z.boolean().optional(), + int2: z.boolean().optional(), + int4: z.boolean().optional(), + int8: z.boolean().optional(), + float4: z.boolean().optional(), + float8: z.boolean().optional(), + json: z.boolean().optional(), + bytea: z.boolean().optional(), + relatedId: z.boolean().optional(), + related: z.union([z.boolean(), z.lazy(() => DummyArgsSchema)]).optional(), + }) + .strict() + +// DUMMY +//------------------------------------------------------ + +export const DummyIncludeSchema: z.ZodType = z + .object({ + datatype: z + .union([z.boolean(), z.lazy(() => DataTypesFindManyArgsSchema)]) + .optional(), + _count: z + .union([z.boolean(), z.lazy(() => DummyCountOutputTypeArgsSchema)]) + .optional(), + }) + .strict() + +export const DummyArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => DummySelectSchema).optional(), + include: z.lazy(() => DummyIncludeSchema).optional(), + }) + .strict() + +export const DummyCountOutputTypeArgsSchema: z.ZodType = + z + .object({ + select: z.lazy(() => DummyCountOutputTypeSelectSchema).nullish(), + }) + .strict() + +export const DummyCountOutputTypeSelectSchema: z.ZodType = + z + .object({ + datatype: z.boolean().optional(), + }) + .strict() + +export const DummySelectSchema: z.ZodType = z + .object({ + id: z.boolean().optional(), + timestamp: z.boolean().optional(), + datatype: z + .union([z.boolean(), z.lazy(() => DataTypesFindManyArgsSchema)]) + .optional(), + _count: z + .union([z.boolean(), z.lazy(() => DummyCountOutputTypeArgsSchema)]) + .optional(), + }) + .strict() + +///////////////////////////////////////// +// INPUT TYPES +///////////////////////////////////////// + +export const ItemsWhereInputSchema: z.ZodType = z + .object({ + AND: z + .union([ + z.lazy(() => ItemsWhereInputSchema), + z.lazy(() => ItemsWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => ItemsWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => ItemsWhereInputSchema), + z.lazy(() => ItemsWhereInputSchema).array(), + ]) + .optional(), + value: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + nbr: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + }) + .strict() + +export const ItemsOrderByWithRelationInputSchema: z.ZodType = + z + .object({ + value: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ItemsWhereUniqueInputSchema: z.ZodType = + z + .object({ + value: z.string().optional(), + }) + .strict() + +export const ItemsOrderByWithAggregationInputSchema: z.ZodType = + z + .object({ + value: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + _count: z.lazy(() => ItemsCountOrderByAggregateInputSchema).optional(), + _avg: z.lazy(() => ItemsAvgOrderByAggregateInputSchema).optional(), + _max: z.lazy(() => ItemsMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => ItemsMinOrderByAggregateInputSchema).optional(), + _sum: z.lazy(() => ItemsSumOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const ItemsScalarWhereWithAggregatesInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => ItemsScalarWhereWithAggregatesInputSchema), + z.lazy(() => ItemsScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => ItemsScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => ItemsScalarWhereWithAggregatesInputSchema), + z.lazy(() => ItemsScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + value: z + .union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]) + .optional(), + nbr: z + .union([ + z.lazy(() => IntNullableWithAggregatesFilterSchema), + z.number(), + ]) + .optional() + .nullable(), + }) + .strict() + +export const UserWhereInputSchema: z.ZodType = z + .object({ + AND: z + .union([ + z.lazy(() => UserWhereInputSchema), + z.lazy(() => UserWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => UserWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => UserWhereInputSchema), + z.lazy(() => UserWhereInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + name: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + meta: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + posts: z.lazy(() => PostListRelationFilterSchema).optional(), + profile: z + .union([ + z.lazy(() => ProfileRelationFilterSchema), + z.lazy(() => ProfileWhereInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const UserOrderByWithRelationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + meta: z.lazy(() => SortOrderSchema).optional(), + posts: z.lazy(() => PostOrderByRelationAggregateInputSchema).optional(), + profile: z.lazy(() => ProfileOrderByWithRelationInputSchema).optional(), + }) + .strict() + +export const UserWhereUniqueInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647).optional(), + }) + .strict() + +export const UserOrderByWithAggregationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + meta: z.lazy(() => SortOrderSchema).optional(), + _count: z.lazy(() => UserCountOrderByAggregateInputSchema).optional(), + _avg: z.lazy(() => UserAvgOrderByAggregateInputSchema).optional(), + _max: z.lazy(() => UserMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => UserMinOrderByAggregateInputSchema).optional(), + _sum: z.lazy(() => UserSumOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const UserScalarWhereWithAggregatesInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => UserScalarWhereWithAggregatesInputSchema), + z.lazy(() => UserScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => UserScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => UserScalarWhereWithAggregatesInputSchema), + z.lazy(() => UserScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + id: z + .union([z.lazy(() => IntWithAggregatesFilterSchema), z.number()]) + .optional(), + name: z + .union([ + z.lazy(() => StringNullableWithAggregatesFilterSchema), + z.string(), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.lazy(() => StringNullableWithAggregatesFilterSchema), + z.string(), + ]) + .optional() + .nullable(), + }) + .strict() + +export const PostWhereInputSchema: z.ZodType = z + .object({ + AND: z + .union([ + z.lazy(() => PostWhereInputSchema), + z.lazy(() => PostWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => PostWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => PostWhereInputSchema), + z.lazy(() => PostWhereInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + title: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + contents: z + .union([z.lazy(() => StringFilterSchema), z.string()]) + .optional(), + nbr: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + authorId: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + author: z + .union([ + z.lazy(() => UserRelationFilterSchema), + z.lazy(() => UserWhereInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const PostOrderByWithRelationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + title: z.lazy(() => SortOrderSchema).optional(), + contents: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + authorId: z.lazy(() => SortOrderSchema).optional(), + author: z.lazy(() => UserOrderByWithRelationInputSchema).optional(), + }) + .strict() + +export const PostWhereUniqueInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647).optional(), + title: z.string().optional(), + }) + .strict() + +export const PostOrderByWithAggregationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + title: z.lazy(() => SortOrderSchema).optional(), + contents: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + authorId: z.lazy(() => SortOrderSchema).optional(), + _count: z.lazy(() => PostCountOrderByAggregateInputSchema).optional(), + _avg: z.lazy(() => PostAvgOrderByAggregateInputSchema).optional(), + _max: z.lazy(() => PostMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => PostMinOrderByAggregateInputSchema).optional(), + _sum: z.lazy(() => PostSumOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const PostScalarWhereWithAggregatesInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => PostScalarWhereWithAggregatesInputSchema), + z.lazy(() => PostScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => PostScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => PostScalarWhereWithAggregatesInputSchema), + z.lazy(() => PostScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + id: z + .union([z.lazy(() => IntWithAggregatesFilterSchema), z.number()]) + .optional(), + title: z + .union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]) + .optional(), + contents: z + .union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]) + .optional(), + nbr: z + .union([ + z.lazy(() => IntNullableWithAggregatesFilterSchema), + z.number(), + ]) + .optional() + .nullable(), + authorId: z + .union([z.lazy(() => IntWithAggregatesFilterSchema), z.number()]) + .optional(), + }) + .strict() + +export const ProfileWhereInputSchema: z.ZodType = z + .object({ + AND: z + .union([ + z.lazy(() => ProfileWhereInputSchema), + z.lazy(() => ProfileWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => ProfileWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => ProfileWhereInputSchema), + z.lazy(() => ProfileWhereInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + bio: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + meta: z.lazy(() => JsonNullableFilterSchema).optional(), + userId: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + user: z + .union([ + z.lazy(() => UserRelationFilterSchema), + z.lazy(() => UserWhereInputSchema), + ]) + .optional() + .nullable(), + imageId: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + image: z + .union([ + z.lazy(() => ProfileImageRelationFilterSchema), + z.lazy(() => ProfileImageWhereInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ProfileOrderByWithRelationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + bio: z.lazy(() => SortOrderSchema).optional(), + meta: z.lazy(() => SortOrderSchema).optional(), + userId: z.lazy(() => SortOrderSchema).optional(), + user: z.lazy(() => UserOrderByWithRelationInputSchema).optional(), + imageId: z.lazy(() => SortOrderSchema).optional(), + image: z + .lazy(() => ProfileImageOrderByWithRelationInputSchema) + .optional(), + }) + .strict() + +export const ProfileWhereUniqueInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647).optional(), + userId: z.number().int().gte(-2147483648).lte(2147483647).optional(), + imageId: z.string().optional(), + }) + .strict() + +export const ProfileOrderByWithAggregationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + bio: z.lazy(() => SortOrderSchema).optional(), + meta: z.lazy(() => SortOrderSchema).optional(), + userId: z.lazy(() => SortOrderSchema).optional(), + imageId: z.lazy(() => SortOrderSchema).optional(), + _count: z.lazy(() => ProfileCountOrderByAggregateInputSchema).optional(), + _avg: z.lazy(() => ProfileAvgOrderByAggregateInputSchema).optional(), + _max: z.lazy(() => ProfileMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => ProfileMinOrderByAggregateInputSchema).optional(), + _sum: z.lazy(() => ProfileSumOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const ProfileScalarWhereWithAggregatesInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => ProfileScalarWhereWithAggregatesInputSchema), + z.lazy(() => ProfileScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => ProfileScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => ProfileScalarWhereWithAggregatesInputSchema), + z.lazy(() => ProfileScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + id: z + .union([z.lazy(() => IntWithAggregatesFilterSchema), z.number()]) + .optional(), + bio: z + .union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]) + .optional(), + meta: z.lazy(() => JsonNullableWithAggregatesFilterSchema).optional(), + userId: z + .union([z.lazy(() => IntWithAggregatesFilterSchema), z.number()]) + .optional(), + imageId: z + .union([ + z.lazy(() => StringNullableWithAggregatesFilterSchema), + z.string(), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ProfileImageWhereInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => ProfileImageWhereInputSchema), + z.lazy(() => ProfileImageWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => ProfileImageWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => ProfileImageWhereInputSchema), + z.lazy(() => ProfileImageWhereInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + image: z + .union([z.lazy(() => BytesFilterSchema), z.instanceof(Uint8Array)]) + .optional(), + profile: z + .union([ + z.lazy(() => ProfileRelationFilterSchema), + z.lazy(() => ProfileWhereInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ProfileImageOrderByWithRelationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + image: z.lazy(() => SortOrderSchema).optional(), + profile: z.lazy(() => ProfileOrderByWithRelationInputSchema).optional(), + }) + .strict() + +export const ProfileImageWhereUniqueInputSchema: z.ZodType = + z + .object({ + id: z.string().optional(), + }) + .strict() + +export const ProfileImageOrderByWithAggregationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + image: z.lazy(() => SortOrderSchema).optional(), + _count: z + .lazy(() => ProfileImageCountOrderByAggregateInputSchema) + .optional(), + _max: z.lazy(() => ProfileImageMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => ProfileImageMinOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const ProfileImageScalarWhereWithAggregatesInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => ProfileImageScalarWhereWithAggregatesInputSchema), + z + .lazy(() => ProfileImageScalarWhereWithAggregatesInputSchema) + .array(), + ]) + .optional(), + OR: z + .lazy(() => ProfileImageScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => ProfileImageScalarWhereWithAggregatesInputSchema), + z + .lazy(() => ProfileImageScalarWhereWithAggregatesInputSchema) + .array(), + ]) + .optional(), + id: z + .union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]) + .optional(), + image: z + .union([ + z.lazy(() => BytesWithAggregatesFilterSchema), + z.instanceof(Uint8Array), + ]) + .optional(), + }) + .strict() + +export const DataTypesWhereInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => DataTypesWhereInputSchema), + z.lazy(() => DataTypesWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => DataTypesWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => DataTypesWhereInputSchema), + z.lazy(() => DataTypesWhereInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + date: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + time: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + timetz: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + timestamp: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + timestamptz: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + bool: z + .union([z.lazy(() => BoolNullableFilterSchema), z.boolean()]) + .optional() + .nullable(), + uuid: z + .union([z.lazy(() => UuidNullableFilterSchema), z.string()]) + .optional() + .nullable(), + int2: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + int4: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + int8: z + .union([ + z.lazy(() => BigIntNullableFilterSchema), + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + ]) + .optional() + .nullable(), + float4: z + .union([z.lazy(() => FloatNullableFilterSchema), z.number()]) + .optional() + .nullable(), + float8: z + .union([z.lazy(() => FloatNullableFilterSchema), z.number()]) + .optional() + .nullable(), + json: z.lazy(() => JsonNullableFilterSchema).optional(), + bytea: z + .union([ + z.lazy(() => BytesNullableFilterSchema), + z.instanceof(Uint8Array), + ]) + .optional() + .nullable(), + relatedId: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + related: z + .union([ + z.lazy(() => DummyRelationFilterSchema), + z.lazy(() => DummyWhereInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesOrderByWithRelationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + date: z.lazy(() => SortOrderSchema).optional(), + time: z.lazy(() => SortOrderSchema).optional(), + timetz: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + timestamptz: z.lazy(() => SortOrderSchema).optional(), + bool: z.lazy(() => SortOrderSchema).optional(), + uuid: z.lazy(() => SortOrderSchema).optional(), + int2: z.lazy(() => SortOrderSchema).optional(), + int4: z.lazy(() => SortOrderSchema).optional(), + int8: z.lazy(() => SortOrderSchema).optional(), + float4: z.lazy(() => SortOrderSchema).optional(), + float8: z.lazy(() => SortOrderSchema).optional(), + json: z.lazy(() => SortOrderSchema).optional(), + bytea: z.lazy(() => SortOrderSchema).optional(), + relatedId: z.lazy(() => SortOrderSchema).optional(), + related: z.lazy(() => DummyOrderByWithRelationInputSchema).optional(), + }) + .strict() + +export const DataTypesWhereUniqueInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647).optional(), + timestamp: z.coerce.date().optional(), + }) + .strict() + +export const DataTypesOrderByWithAggregationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + date: z.lazy(() => SortOrderSchema).optional(), + time: z.lazy(() => SortOrderSchema).optional(), + timetz: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + timestamptz: z.lazy(() => SortOrderSchema).optional(), + bool: z.lazy(() => SortOrderSchema).optional(), + uuid: z.lazy(() => SortOrderSchema).optional(), + int2: z.lazy(() => SortOrderSchema).optional(), + int4: z.lazy(() => SortOrderSchema).optional(), + int8: z.lazy(() => SortOrderSchema).optional(), + float4: z.lazy(() => SortOrderSchema).optional(), + float8: z.lazy(() => SortOrderSchema).optional(), + json: z.lazy(() => SortOrderSchema).optional(), + bytea: z.lazy(() => SortOrderSchema).optional(), + relatedId: z.lazy(() => SortOrderSchema).optional(), + _count: z + .lazy(() => DataTypesCountOrderByAggregateInputSchema) + .optional(), + _avg: z.lazy(() => DataTypesAvgOrderByAggregateInputSchema).optional(), + _max: z.lazy(() => DataTypesMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => DataTypesMinOrderByAggregateInputSchema).optional(), + _sum: z.lazy(() => DataTypesSumOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const DataTypesScalarWhereWithAggregatesInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => DataTypesScalarWhereWithAggregatesInputSchema), + z.lazy(() => DataTypesScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => DataTypesScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => DataTypesScalarWhereWithAggregatesInputSchema), + z.lazy(() => DataTypesScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + id: z + .union([z.lazy(() => IntWithAggregatesFilterSchema), z.number()]) + .optional(), + date: z + .union([ + z.lazy(() => DateTimeNullableWithAggregatesFilterSchema), + z.coerce.date(), + ]) + .optional() + .nullable(), + time: z + .union([ + z.lazy(() => DateTimeNullableWithAggregatesFilterSchema), + z.coerce.date(), + ]) + .optional() + .nullable(), + timetz: z + .union([ + z.lazy(() => DateTimeNullableWithAggregatesFilterSchema), + z.coerce.date(), + ]) + .optional() + .nullable(), + timestamp: z + .union([ + z.lazy(() => DateTimeNullableWithAggregatesFilterSchema), + z.coerce.date(), + ]) + .optional() + .nullable(), + timestamptz: z + .union([ + z.lazy(() => DateTimeNullableWithAggregatesFilterSchema), + z.coerce.date(), + ]) + .optional() + .nullable(), + bool: z + .union([ + z.lazy(() => BoolNullableWithAggregatesFilterSchema), + z.boolean(), + ]) + .optional() + .nullable(), + uuid: z + .union([ + z.lazy(() => UuidNullableWithAggregatesFilterSchema), + z.string(), + ]) + .optional() + .nullable(), + int2: z + .union([ + z.lazy(() => IntNullableWithAggregatesFilterSchema), + z.number(), + ]) + .optional() + .nullable(), + int4: z + .union([ + z.lazy(() => IntNullableWithAggregatesFilterSchema), + z.number(), + ]) + .optional() + .nullable(), + int8: z + .union([ + z.lazy(() => BigIntNullableWithAggregatesFilterSchema), + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + ]) + .optional() + .nullable(), + float4: z + .union([ + z.lazy(() => FloatNullableWithAggregatesFilterSchema), + z.number(), + ]) + .optional() + .nullable(), + float8: z + .union([ + z.lazy(() => FloatNullableWithAggregatesFilterSchema), + z.number(), + ]) + .optional() + .nullable(), + json: z.lazy(() => JsonNullableWithAggregatesFilterSchema).optional(), + bytea: z + .union([ + z.lazy(() => BytesNullableWithAggregatesFilterSchema), + z.instanceof(Uint8Array), + ]) + .optional() + .nullable(), + relatedId: z + .union([ + z.lazy(() => IntNullableWithAggregatesFilterSchema), + z.number(), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DummyWhereInputSchema: z.ZodType = z + .object({ + AND: z + .union([ + z.lazy(() => DummyWhereInputSchema), + z.lazy(() => DummyWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => DummyWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => DummyWhereInputSchema), + z.lazy(() => DummyWhereInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + timestamp: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + datatype: z.lazy(() => DataTypesListRelationFilterSchema).optional(), + }) + .strict() + +export const DummyOrderByWithRelationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + datatype: z + .lazy(() => DataTypesOrderByRelationAggregateInputSchema) + .optional(), + }) + .strict() + +export const DummyWhereUniqueInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647).optional(), + }) + .strict() + +export const DummyOrderByWithAggregationInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + _count: z.lazy(() => DummyCountOrderByAggregateInputSchema).optional(), + _avg: z.lazy(() => DummyAvgOrderByAggregateInputSchema).optional(), + _max: z.lazy(() => DummyMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => DummyMinOrderByAggregateInputSchema).optional(), + _sum: z.lazy(() => DummySumOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const DummyScalarWhereWithAggregatesInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => DummyScalarWhereWithAggregatesInputSchema), + z.lazy(() => DummyScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => DummyScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => DummyScalarWhereWithAggregatesInputSchema), + z.lazy(() => DummyScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + id: z + .union([z.lazy(() => IntWithAggregatesFilterSchema), z.number()]) + .optional(), + timestamp: z + .union([ + z.lazy(() => DateTimeNullableWithAggregatesFilterSchema), + z.coerce.date(), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ItemsCreateInputSchema: z.ZodType = z + .object({ + value: z.string(), + nbr: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + }) + .strict() + +export const ItemsUncheckedCreateInputSchema: z.ZodType = + z + .object({ + value: z.string(), + nbr: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + }) + .strict() + +export const ItemsUpdateInputSchema: z.ZodType = z + .object({ + value: z + .union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ItemsUncheckedUpdateInputSchema: z.ZodType = + z + .object({ + value: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ItemsCreateManyInputSchema: z.ZodType = + z + .object({ + value: z.string(), + nbr: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + }) + .strict() + +export const ItemsUpdateManyMutationInputSchema: z.ZodType = + z + .object({ + value: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ItemsUncheckedUpdateManyInputSchema: z.ZodType = + z + .object({ + value: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const UserCreateInputSchema: z.ZodType = z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + name: z.string().optional().nullable(), + meta: z.string().optional().nullable(), + posts: z + .lazy(() => PostCreateNestedManyWithoutAuthorInputSchema) + .optional(), + profile: z + .lazy(() => ProfileCreateNestedOneWithoutUserInputSchema) + .optional(), + }) + .strict() + +export const UserUncheckedCreateInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + name: z.string().optional().nullable(), + meta: z.string().optional().nullable(), + posts: z + .lazy(() => PostUncheckedCreateNestedManyWithoutAuthorInputSchema) + .optional(), + profile: z + .lazy(() => ProfileUncheckedCreateNestedOneWithoutUserInputSchema) + .optional(), + }) + .strict() + +export const UserUpdateInputSchema: z.ZodType = z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + name: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + posts: z + .lazy(() => PostUpdateManyWithoutAuthorNestedInputSchema) + .optional(), + profile: z + .lazy(() => ProfileUpdateOneWithoutUserNestedInputSchema) + .optional(), + }) + .strict() + +export const UserUncheckedUpdateInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + name: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + posts: z + .lazy(() => PostUncheckedUpdateManyWithoutAuthorNestedInputSchema) + .optional(), + profile: z + .lazy(() => ProfileUncheckedUpdateOneWithoutUserNestedInputSchema) + .optional(), + }) + .strict() + +export const UserCreateManyInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + name: z.string().optional().nullable(), + meta: z.string().optional().nullable(), + }) + .strict() + +export const UserUpdateManyMutationInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + name: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const UserUncheckedUpdateManyInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + name: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const PostCreateInputSchema: z.ZodType = z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + title: z.string(), + contents: z.string(), + nbr: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + author: z.lazy(() => UserCreateNestedOneWithoutPostsInputSchema).optional(), + }) + .strict() + +export const PostUncheckedCreateInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + title: z.string(), + contents: z.string(), + nbr: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + authorId: z.number().int().gte(-2147483648).lte(2147483647), + }) + .strict() + +export const PostUpdateInputSchema: z.ZodType = z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + title: z + .union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]) + .optional(), + contents: z + .union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + author: z.lazy(() => UserUpdateOneWithoutPostsNestedInputSchema).optional(), + }) + .strict() + +export const PostUncheckedUpdateInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + title: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + contents: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + authorId: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + }) + .strict() + +export const PostCreateManyInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + title: z.string(), + contents: z.string(), + nbr: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + authorId: z.number().int().gte(-2147483648).lte(2147483647), + }) + .strict() + +export const PostUpdateManyMutationInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + title: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + contents: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const PostUncheckedUpdateManyInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + title: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + contents: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + authorId: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + }) + .strict() + +export const ProfileCreateInputSchema: z.ZodType = z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + bio: z.string(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + user: z.lazy(() => UserCreateNestedOneWithoutProfileInputSchema).optional(), + image: z + .lazy(() => ProfileImageCreateNestedOneWithoutProfileInputSchema) + .optional(), + }) + .strict() + +export const ProfileUncheckedCreateInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + bio: z.string(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + userId: z.number().int().gte(-2147483648).lte(2147483647), + imageId: z.string().optional().nullable(), + }) + .strict() + +export const ProfileUpdateInputSchema: z.ZodType = z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + bio: z + .union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]) + .optional(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + user: z.lazy(() => UserUpdateOneWithoutProfileNestedInputSchema).optional(), + image: z + .lazy(() => ProfileImageUpdateOneWithoutProfileNestedInputSchema) + .optional(), + }) + .strict() + +export const ProfileUncheckedUpdateInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + bio: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + userId: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + imageId: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ProfileCreateManyInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + bio: z.string(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + userId: z.number().int().gte(-2147483648).lte(2147483647), + imageId: z.string().optional().nullable(), + }) + .strict() + +export const ProfileUpdateManyMutationInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + bio: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + }) + .strict() + +export const ProfileUncheckedUpdateManyInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + bio: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + userId: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + imageId: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const ProfileImageCreateInputSchema: z.ZodType = + z + .object({ + id: z.string(), + image: z.instanceof(Uint8Array), + profile: z + .lazy(() => ProfileCreateNestedOneWithoutImageInputSchema) + .optional(), + }) + .strict() + +export const ProfileImageUncheckedCreateInputSchema: z.ZodType = + z + .object({ + id: z.string(), + image: z.instanceof(Uint8Array), + profile: z + .lazy(() => ProfileUncheckedCreateNestedOneWithoutImageInputSchema) + .optional(), + }) + .strict() + +export const ProfileImageUpdateInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + image: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => BytesFieldUpdateOperationsInputSchema), + ]) + .optional(), + profile: z + .lazy(() => ProfileUpdateOneWithoutImageNestedInputSchema) + .optional(), + }) + .strict() + +export const ProfileImageUncheckedUpdateInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + image: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => BytesFieldUpdateOperationsInputSchema), + ]) + .optional(), + profile: z + .lazy(() => ProfileUncheckedUpdateOneWithoutImageNestedInputSchema) + .optional(), + }) + .strict() + +export const ProfileImageCreateManyInputSchema: z.ZodType = + z + .object({ + id: z.string(), + image: z.instanceof(Uint8Array), + }) + .strict() + +export const ProfileImageUpdateManyMutationInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + image: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => BytesFieldUpdateOperationsInputSchema), + ]) + .optional(), + }) + .strict() + +export const ProfileImageUncheckedUpdateManyInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + image: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => BytesFieldUpdateOperationsInputSchema), + ]) + .optional(), + }) + .strict() + +export const DataTypesCreateInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + date: z.coerce.date().optional().nullable(), + time: z.coerce.date().optional().nullable(), + timetz: z.coerce.date().optional().nullable(), + timestamp: z.coerce.date().optional().nullable(), + timestamptz: z.coerce.date().optional().nullable(), + bool: z.boolean().optional().nullable(), + uuid: z.string().uuid().optional().nullable(), + int2: z.number().int().gte(-32768).lte(32767).optional().nullable(), + int4: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + int8: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + float4: z.number().or(z.nan()).optional().nullable(), + float8: z.number().or(z.nan()).optional().nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z.instanceof(Uint8Array).optional().nullable(), + related: z + .lazy(() => DummyCreateNestedOneWithoutDatatypeInputSchema) + .optional(), + }) + .strict() + +export const DataTypesUncheckedCreateInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + date: z.coerce.date().optional().nullable(), + time: z.coerce.date().optional().nullable(), + timetz: z.coerce.date().optional().nullable(), + timestamp: z.coerce.date().optional().nullable(), + timestamptz: z.coerce.date().optional().nullable(), + bool: z.boolean().optional().nullable(), + uuid: z.string().uuid().optional().nullable(), + int2: z.number().int().gte(-32768).lte(32767).optional().nullable(), + int4: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + int8: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + float4: z.number().or(z.nan()).optional().nullable(), + float8: z.number().or(z.nan()).optional().nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z.instanceof(Uint8Array).optional().nullable(), + relatedId: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesUpdateInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + date: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + time: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timetz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamptz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + bool: z + .union([ + z.boolean(), + z.lazy(() => NullableBoolFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + uuid: z + .union([ + z.string().uuid(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int2: z + .union([ + z.number().int().gte(-32768).lte(32767), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int4: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int8: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NullableBigIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float4: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float8: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NullableBytesFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + related: z + .lazy(() => DummyUpdateOneWithoutDatatypeNestedInputSchema) + .optional(), + }) + .strict() + +export const DataTypesUncheckedUpdateInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + date: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + time: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timetz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamptz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + bool: z + .union([ + z.boolean(), + z.lazy(() => NullableBoolFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + uuid: z + .union([ + z.string().uuid(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int2: z + .union([ + z.number().int().gte(-32768).lte(32767), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int4: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int8: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NullableBigIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float4: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float8: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NullableBytesFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + relatedId: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesCreateManyInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + date: z.coerce.date().optional().nullable(), + time: z.coerce.date().optional().nullable(), + timetz: z.coerce.date().optional().nullable(), + timestamp: z.coerce.date().optional().nullable(), + timestamptz: z.coerce.date().optional().nullable(), + bool: z.boolean().optional().nullable(), + uuid: z.string().uuid().optional().nullable(), + int2: z.number().int().gte(-32768).lte(32767).optional().nullable(), + int4: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + int8: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + float4: z.number().or(z.nan()).optional().nullable(), + float8: z.number().or(z.nan()).optional().nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z.instanceof(Uint8Array).optional().nullable(), + relatedId: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesUpdateManyMutationInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + date: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + time: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timetz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamptz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + bool: z + .union([ + z.boolean(), + z.lazy(() => NullableBoolFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + uuid: z + .union([ + z.string().uuid(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int2: z + .union([ + z.number().int().gte(-32768).lte(32767), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int4: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int8: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NullableBigIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float4: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float8: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NullableBytesFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesUncheckedUpdateManyInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + date: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + time: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timetz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamptz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + bool: z + .union([ + z.boolean(), + z.lazy(() => NullableBoolFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + uuid: z + .union([ + z.string().uuid(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int2: z + .union([ + z.number().int().gte(-32768).lte(32767), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int4: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int8: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NullableBigIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float4: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float8: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NullableBytesFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + relatedId: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DummyCreateInputSchema: z.ZodType = z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + timestamp: z.coerce.date().optional().nullable(), + datatype: z + .lazy(() => DataTypesCreateNestedManyWithoutRelatedInputSchema) + .optional(), + }) + .strict() + +export const DummyUncheckedCreateInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + timestamp: z.coerce.date().optional().nullable(), + datatype: z + .lazy(() => DataTypesUncheckedCreateNestedManyWithoutRelatedInputSchema) + .optional(), + }) + .strict() + +export const DummyUpdateInputSchema: z.ZodType = z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + datatype: z + .lazy(() => DataTypesUpdateManyWithoutRelatedNestedInputSchema) + .optional(), + }) + .strict() + +export const DummyUncheckedUpdateInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + datatype: z + .lazy(() => DataTypesUncheckedUpdateManyWithoutRelatedNestedInputSchema) + .optional(), + }) + .strict() + +export const DummyCreateManyInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + timestamp: z.coerce.date().optional().nullable(), + }) + .strict() + +export const DummyUpdateManyMutationInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DummyUncheckedUpdateManyInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const StringFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional(), + in: z.string().array().optional(), + notIn: z.string().array().optional(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z + .union([z.string(), z.lazy(() => NestedStringFilterSchema)]) + .optional(), + }) + .strict() + +export const IntNullableFilterSchema: z.ZodType = z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([z.number(), z.lazy(() => NestedIntNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const ItemsCountOrderByAggregateInputSchema: z.ZodType = + z + .object({ + value: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ItemsAvgOrderByAggregateInputSchema: z.ZodType = + z + .object({ + nbr: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ItemsMaxOrderByAggregateInputSchema: z.ZodType = + z + .object({ + value: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ItemsMinOrderByAggregateInputSchema: z.ZodType = + z + .object({ + value: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ItemsSumOrderByAggregateInputSchema: z.ZodType = + z + .object({ + nbr: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const StringWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional(), + in: z.string().array().optional(), + notIn: z.string().array().optional(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z + .union([ + z.string(), + z.lazy(() => NestedStringWithAggregatesFilterSchema), + ]) + .optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedStringFilterSchema).optional(), + _max: z.lazy(() => NestedStringFilterSchema).optional(), + }) + .strict() + +export const IntNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([ + z.number(), + z.lazy(() => NestedIntNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _avg: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _sum: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _max: z.lazy(() => NestedIntNullableFilterSchema).optional(), + }) + .strict() + +export const IntFilterSchema: z.ZodType = z + .object({ + equals: z.number().optional(), + in: z.number().array().optional(), + notIn: z.number().array().optional(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z.union([z.number(), z.lazy(() => NestedIntFilterSchema)]).optional(), + }) + .strict() + +export const StringNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z + .union([z.string(), z.lazy(() => NestedStringNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const PostListRelationFilterSchema: z.ZodType = + z + .object({ + every: z.lazy(() => PostWhereInputSchema).optional(), + some: z.lazy(() => PostWhereInputSchema).optional(), + none: z.lazy(() => PostWhereInputSchema).optional(), + }) + .strict() + +export const ProfileRelationFilterSchema: z.ZodType = + z + .object({ + is: z + .lazy(() => ProfileWhereInputSchema) + .optional() + .nullable(), + isNot: z + .lazy(() => ProfileWhereInputSchema) + .optional() + .nullable(), + }) + .strict() + +export const PostOrderByRelationAggregateInputSchema: z.ZodType = + z + .object({ + _count: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const UserCountOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + meta: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const UserAvgOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const UserMaxOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + meta: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const UserMinOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + meta: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const UserSumOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const IntWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional(), + in: z.number().array().optional(), + notIn: z.number().array().optional(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([z.number(), z.lazy(() => NestedIntWithAggregatesFilterSchema)]) + .optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _avg: z.lazy(() => NestedFloatFilterSchema).optional(), + _sum: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedIntFilterSchema).optional(), + _max: z.lazy(() => NestedIntFilterSchema).optional(), + }) + .strict() + +export const StringNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z + .union([ + z.string(), + z.lazy(() => NestedStringNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedStringNullableFilterSchema).optional(), + _max: z.lazy(() => NestedStringNullableFilterSchema).optional(), + }) + .strict() + +export const UserRelationFilterSchema: z.ZodType = z + .object({ + is: z + .lazy(() => UserWhereInputSchema) + .optional() + .nullable(), + isNot: z + .lazy(() => UserWhereInputSchema) + .optional() + .nullable(), + }) + .strict() + +export const PostCountOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + title: z.lazy(() => SortOrderSchema).optional(), + contents: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + authorId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const PostAvgOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + authorId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const PostMaxOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + title: z.lazy(() => SortOrderSchema).optional(), + contents: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + authorId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const PostMinOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + title: z.lazy(() => SortOrderSchema).optional(), + contents: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + authorId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const PostSumOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + nbr: z.lazy(() => SortOrderSchema).optional(), + authorId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const JsonNullableFilterSchema: z.ZodType = z + .object({ + equals: z + .union([InputJsonValue, z.lazy(() => JsonNullValueFilterSchema)]) + .optional(), + path: z.string().array().optional(), + string_contains: z.string().optional(), + string_starts_with: z.string().optional(), + string_ends_with: z.string().optional(), + array_contains: InputJsonValue.optional().nullable(), + array_starts_with: InputJsonValue.optional().nullable(), + array_ends_with: InputJsonValue.optional().nullable(), + lt: InputJsonValue.optional(), + lte: InputJsonValue.optional(), + gt: InputJsonValue.optional(), + gte: InputJsonValue.optional(), + not: z + .union([InputJsonValue, z.lazy(() => JsonNullValueFilterSchema)]) + .optional(), + }) + .strict() + +export const ProfileImageRelationFilterSchema: z.ZodType = + z + .object({ + is: z + .lazy(() => ProfileImageWhereInputSchema) + .optional() + .nullable(), + isNot: z + .lazy(() => ProfileImageWhereInputSchema) + .optional() + .nullable(), + }) + .strict() + +export const ProfileCountOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + bio: z.lazy(() => SortOrderSchema).optional(), + meta: z.lazy(() => SortOrderSchema).optional(), + userId: z.lazy(() => SortOrderSchema).optional(), + imageId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ProfileAvgOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + userId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ProfileMaxOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + bio: z.lazy(() => SortOrderSchema).optional(), + userId: z.lazy(() => SortOrderSchema).optional(), + imageId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ProfileMinOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + bio: z.lazy(() => SortOrderSchema).optional(), + userId: z.lazy(() => SortOrderSchema).optional(), + imageId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ProfileSumOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + userId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const JsonNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z + .union([InputJsonValue, z.lazy(() => JsonNullValueFilterSchema)]) + .optional(), + path: z.string().array().optional(), + string_contains: z.string().optional(), + string_starts_with: z.string().optional(), + string_ends_with: z.string().optional(), + array_contains: InputJsonValue.optional().nullable(), + array_starts_with: InputJsonValue.optional().nullable(), + array_ends_with: InputJsonValue.optional().nullable(), + lt: InputJsonValue.optional(), + lte: InputJsonValue.optional(), + gt: InputJsonValue.optional(), + gte: InputJsonValue.optional(), + not: z + .union([InputJsonValue, z.lazy(() => JsonNullValueFilterSchema)]) + .optional(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedJsonNullableFilterSchema).optional(), + _max: z.lazy(() => NestedJsonNullableFilterSchema).optional(), + }) + .strict() + +export const BytesFilterSchema: z.ZodType = z + .object({ + equals: z.instanceof(Uint8Array).optional(), + in: z.instanceof(Uint8Array).array().optional(), + notIn: z.instanceof(Uint8Array).array().optional(), + not: z + .union([z.instanceof(Uint8Array), z.lazy(() => NestedBytesFilterSchema)]) + .optional(), + }) + .strict() + +export const ProfileImageCountOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + image: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ProfileImageMaxOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + image: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const ProfileImageMinOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + image: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const BytesWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.instanceof(Uint8Array).optional(), + in: z.instanceof(Uint8Array).array().optional(), + notIn: z.instanceof(Uint8Array).array().optional(), + not: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NestedBytesWithAggregatesFilterSchema), + ]) + .optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedBytesFilterSchema).optional(), + _max: z.lazy(() => NestedBytesFilterSchema).optional(), + }) + .strict() + +export const DateTimeNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.coerce.date().optional().nullable(), + in: z.coerce.date().array().optional().nullable(), + notIn: z.coerce.date().array().optional().nullable(), + lt: z.coerce.date().optional(), + lte: z.coerce.date().optional(), + gt: z.coerce.date().optional(), + gte: z.coerce.date().optional(), + not: z + .union([ + z.coerce.date(), + z.lazy(() => NestedDateTimeNullableFilterSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const BoolNullableFilterSchema: z.ZodType = z + .object({ + equals: z.boolean().optional().nullable(), + not: z + .union([z.boolean(), z.lazy(() => NestedBoolNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const UuidNullableFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z + .union([z.string(), z.lazy(() => NestedUuidNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const BigIntNullableFilterSchema: z.ZodType = + z + .object({ + equals: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + in: z + .union([ + z + .bigint() + .gte(-9223372036854775808n) + .lte(9223372036854775807n) + .array(), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt) + .array(), + ]) + .optional() + .nullable(), + notIn: z + .union([ + z + .bigint() + .gte(-9223372036854775808n) + .lte(9223372036854775807n) + .array(), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt) + .array(), + ]) + .optional() + .nullable(), + lt: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + lte: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + gt: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + gte: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + not: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NestedBigIntNullableFilterSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const FloatNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([z.number(), z.lazy(() => NestedFloatNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const BytesNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.instanceof(Uint8Array).optional().nullable(), + in: z.instanceof(Uint8Array).array().optional().nullable(), + notIn: z.instanceof(Uint8Array).array().optional().nullable(), + not: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NestedBytesNullableFilterSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DummyRelationFilterSchema: z.ZodType = + z + .object({ + is: z + .lazy(() => DummyWhereInputSchema) + .optional() + .nullable(), + isNot: z + .lazy(() => DummyWhereInputSchema) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesCountOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + date: z.lazy(() => SortOrderSchema).optional(), + time: z.lazy(() => SortOrderSchema).optional(), + timetz: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + timestamptz: z.lazy(() => SortOrderSchema).optional(), + bool: z.lazy(() => SortOrderSchema).optional(), + uuid: z.lazy(() => SortOrderSchema).optional(), + int2: z.lazy(() => SortOrderSchema).optional(), + int4: z.lazy(() => SortOrderSchema).optional(), + int8: z.lazy(() => SortOrderSchema).optional(), + float4: z.lazy(() => SortOrderSchema).optional(), + float8: z.lazy(() => SortOrderSchema).optional(), + json: z.lazy(() => SortOrderSchema).optional(), + bytea: z.lazy(() => SortOrderSchema).optional(), + relatedId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DataTypesAvgOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + int2: z.lazy(() => SortOrderSchema).optional(), + int4: z.lazy(() => SortOrderSchema).optional(), + int8: z.lazy(() => SortOrderSchema).optional(), + float4: z.lazy(() => SortOrderSchema).optional(), + float8: z.lazy(() => SortOrderSchema).optional(), + relatedId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DataTypesMaxOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + date: z.lazy(() => SortOrderSchema).optional(), + time: z.lazy(() => SortOrderSchema).optional(), + timetz: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + timestamptz: z.lazy(() => SortOrderSchema).optional(), + bool: z.lazy(() => SortOrderSchema).optional(), + uuid: z.lazy(() => SortOrderSchema).optional(), + int2: z.lazy(() => SortOrderSchema).optional(), + int4: z.lazy(() => SortOrderSchema).optional(), + int8: z.lazy(() => SortOrderSchema).optional(), + float4: z.lazy(() => SortOrderSchema).optional(), + float8: z.lazy(() => SortOrderSchema).optional(), + bytea: z.lazy(() => SortOrderSchema).optional(), + relatedId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DataTypesMinOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + date: z.lazy(() => SortOrderSchema).optional(), + time: z.lazy(() => SortOrderSchema).optional(), + timetz: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + timestamptz: z.lazy(() => SortOrderSchema).optional(), + bool: z.lazy(() => SortOrderSchema).optional(), + uuid: z.lazy(() => SortOrderSchema).optional(), + int2: z.lazy(() => SortOrderSchema).optional(), + int4: z.lazy(() => SortOrderSchema).optional(), + int8: z.lazy(() => SortOrderSchema).optional(), + float4: z.lazy(() => SortOrderSchema).optional(), + float8: z.lazy(() => SortOrderSchema).optional(), + bytea: z.lazy(() => SortOrderSchema).optional(), + relatedId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DataTypesSumOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + int2: z.lazy(() => SortOrderSchema).optional(), + int4: z.lazy(() => SortOrderSchema).optional(), + int8: z.lazy(() => SortOrderSchema).optional(), + float4: z.lazy(() => SortOrderSchema).optional(), + float8: z.lazy(() => SortOrderSchema).optional(), + relatedId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DateTimeNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.coerce.date().optional().nullable(), + in: z.coerce.date().array().optional().nullable(), + notIn: z.coerce.date().array().optional().nullable(), + lt: z.coerce.date().optional(), + lte: z.coerce.date().optional(), + gt: z.coerce.date().optional(), + gte: z.coerce.date().optional(), + not: z + .union([ + z.coerce.date(), + z.lazy(() => NestedDateTimeNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedDateTimeNullableFilterSchema).optional(), + _max: z.lazy(() => NestedDateTimeNullableFilterSchema).optional(), + }) + .strict() + +export const BoolNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.boolean().optional().nullable(), + not: z + .union([ + z.boolean(), + z.lazy(() => NestedBoolNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedBoolNullableFilterSchema).optional(), + _max: z.lazy(() => NestedBoolNullableFilterSchema).optional(), + }) + .strict() + +export const UuidNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z + .union([ + z.string(), + z.lazy(() => NestedUuidNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedStringNullableFilterSchema).optional(), + _max: z.lazy(() => NestedStringNullableFilterSchema).optional(), + }) + .strict() + +export const BigIntNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + in: z + .union([ + z + .bigint() + .gte(-9223372036854775808n) + .lte(9223372036854775807n) + .array(), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt) + .array(), + ]) + .optional() + .nullable(), + notIn: z + .union([ + z + .bigint() + .gte(-9223372036854775808n) + .lte(9223372036854775807n) + .array(), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt) + .array(), + ]) + .optional() + .nullable(), + lt: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + lte: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + gt: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + gte: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + not: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NestedBigIntNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _avg: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _sum: z.lazy(() => NestedBigIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedBigIntNullableFilterSchema).optional(), + _max: z.lazy(() => NestedBigIntNullableFilterSchema).optional(), + }) + .strict() + +export const FloatNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([ + z.number(), + z.lazy(() => NestedFloatNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _avg: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _sum: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _min: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _max: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + }) + .strict() + +export const BytesNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.instanceof(Uint8Array).optional().nullable(), + in: z.instanceof(Uint8Array).array().optional().nullable(), + notIn: z.instanceof(Uint8Array).array().optional().nullable(), + not: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NestedBytesNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedBytesNullableFilterSchema).optional(), + _max: z.lazy(() => NestedBytesNullableFilterSchema).optional(), + }) + .strict() + +export const DataTypesListRelationFilterSchema: z.ZodType = + z + .object({ + every: z.lazy(() => DataTypesWhereInputSchema).optional(), + some: z.lazy(() => DataTypesWhereInputSchema).optional(), + none: z.lazy(() => DataTypesWhereInputSchema).optional(), + }) + .strict() + +export const DataTypesOrderByRelationAggregateInputSchema: z.ZodType = + z + .object({ + _count: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DummyCountOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DummyAvgOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DummyMaxOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DummyMinOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + timestamp: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const DummySumOrderByAggregateInputSchema: z.ZodType = + z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const StringFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.string().optional(), + }) + .strict() + +export const NullableIntFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.number().optional().nullable(), + increment: z.number().optional(), + decrement: z.number().optional(), + multiply: z.number().optional(), + divide: z.number().optional(), + }) + .strict() + +export const PostCreateNestedManyWithoutAuthorInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => PostCreateWithoutAuthorInputSchema), + z.lazy(() => PostCreateWithoutAuthorInputSchema).array(), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema).array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => PostCreateOrConnectWithoutAuthorInputSchema), + z.lazy(() => PostCreateOrConnectWithoutAuthorInputSchema).array(), + ]) + .optional(), + createMany: z + .lazy(() => PostCreateManyAuthorInputEnvelopeSchema) + .optional(), + connect: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + }) + .strict() + +export const ProfileCreateNestedOneWithoutUserInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileCreateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutUserInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileCreateOrConnectWithoutUserInputSchema) + .optional(), + connect: z.lazy(() => ProfileWhereUniqueInputSchema).optional(), + }) + .strict() + +export const PostUncheckedCreateNestedManyWithoutAuthorInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => PostCreateWithoutAuthorInputSchema), + z.lazy(() => PostCreateWithoutAuthorInputSchema).array(), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema).array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => PostCreateOrConnectWithoutAuthorInputSchema), + z.lazy(() => PostCreateOrConnectWithoutAuthorInputSchema).array(), + ]) + .optional(), + createMany: z + .lazy(() => PostCreateManyAuthorInputEnvelopeSchema) + .optional(), + connect: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + }) + .strict() + +export const ProfileUncheckedCreateNestedOneWithoutUserInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileCreateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutUserInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileCreateOrConnectWithoutUserInputSchema) + .optional(), + connect: z.lazy(() => ProfileWhereUniqueInputSchema).optional(), + }) + .strict() + +export const IntFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.number().optional(), + increment: z.number().optional(), + decrement: z.number().optional(), + multiply: z.number().optional(), + divide: z.number().optional(), + }) + .strict() + +export const NullableStringFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.string().optional().nullable(), + }) + .strict() + +export const PostUpdateManyWithoutAuthorNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => PostCreateWithoutAuthorInputSchema), + z.lazy(() => PostCreateWithoutAuthorInputSchema).array(), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema).array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => PostCreateOrConnectWithoutAuthorInputSchema), + z.lazy(() => PostCreateOrConnectWithoutAuthorInputSchema).array(), + ]) + .optional(), + upsert: z + .union([ + z.lazy(() => PostUpsertWithWhereUniqueWithoutAuthorInputSchema), + z + .lazy(() => PostUpsertWithWhereUniqueWithoutAuthorInputSchema) + .array(), + ]) + .optional(), + createMany: z + .lazy(() => PostCreateManyAuthorInputEnvelopeSchema) + .optional(), + set: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + disconnect: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + delete: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + connect: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + update: z + .union([ + z.lazy(() => PostUpdateWithWhereUniqueWithoutAuthorInputSchema), + z + .lazy(() => PostUpdateWithWhereUniqueWithoutAuthorInputSchema) + .array(), + ]) + .optional(), + updateMany: z + .union([ + z.lazy(() => PostUpdateManyWithWhereWithoutAuthorInputSchema), + z.lazy(() => PostUpdateManyWithWhereWithoutAuthorInputSchema).array(), + ]) + .optional(), + deleteMany: z + .union([ + z.lazy(() => PostScalarWhereInputSchema), + z.lazy(() => PostScalarWhereInputSchema).array(), + ]) + .optional(), + }) + .strict() + +export const ProfileUpdateOneWithoutUserNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileCreateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutUserInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileCreateOrConnectWithoutUserInputSchema) + .optional(), + upsert: z.lazy(() => ProfileUpsertWithoutUserInputSchema).optional(), + disconnect: z.boolean().optional(), + delete: z.boolean().optional(), + connect: z.lazy(() => ProfileWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => ProfileUpdateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedUpdateWithoutUserInputSchema), + ]) + .optional(), + }) + .strict() + +export const PostUncheckedUpdateManyWithoutAuthorNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => PostCreateWithoutAuthorInputSchema), + z.lazy(() => PostCreateWithoutAuthorInputSchema).array(), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema).array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => PostCreateOrConnectWithoutAuthorInputSchema), + z.lazy(() => PostCreateOrConnectWithoutAuthorInputSchema).array(), + ]) + .optional(), + upsert: z + .union([ + z.lazy(() => PostUpsertWithWhereUniqueWithoutAuthorInputSchema), + z + .lazy(() => PostUpsertWithWhereUniqueWithoutAuthorInputSchema) + .array(), + ]) + .optional(), + createMany: z + .lazy(() => PostCreateManyAuthorInputEnvelopeSchema) + .optional(), + set: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + disconnect: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + delete: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + connect: z + .union([ + z.lazy(() => PostWhereUniqueInputSchema), + z.lazy(() => PostWhereUniqueInputSchema).array(), + ]) + .optional(), + update: z + .union([ + z.lazy(() => PostUpdateWithWhereUniqueWithoutAuthorInputSchema), + z + .lazy(() => PostUpdateWithWhereUniqueWithoutAuthorInputSchema) + .array(), + ]) + .optional(), + updateMany: z + .union([ + z.lazy(() => PostUpdateManyWithWhereWithoutAuthorInputSchema), + z.lazy(() => PostUpdateManyWithWhereWithoutAuthorInputSchema).array(), + ]) + .optional(), + deleteMany: z + .union([ + z.lazy(() => PostScalarWhereInputSchema), + z.lazy(() => PostScalarWhereInputSchema).array(), + ]) + .optional(), + }) + .strict() + +export const ProfileUncheckedUpdateOneWithoutUserNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileCreateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutUserInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileCreateOrConnectWithoutUserInputSchema) + .optional(), + upsert: z.lazy(() => ProfileUpsertWithoutUserInputSchema).optional(), + disconnect: z.boolean().optional(), + delete: z.boolean().optional(), + connect: z.lazy(() => ProfileWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => ProfileUpdateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedUpdateWithoutUserInputSchema), + ]) + .optional(), + }) + .strict() + +export const UserCreateNestedOneWithoutPostsInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => UserCreateWithoutPostsInputSchema), + z.lazy(() => UserUncheckedCreateWithoutPostsInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => UserCreateOrConnectWithoutPostsInputSchema) + .optional(), + connect: z.lazy(() => UserWhereUniqueInputSchema).optional(), + }) + .strict() + +export const UserUpdateOneWithoutPostsNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => UserCreateWithoutPostsInputSchema), + z.lazy(() => UserUncheckedCreateWithoutPostsInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => UserCreateOrConnectWithoutPostsInputSchema) + .optional(), + upsert: z.lazy(() => UserUpsertWithoutPostsInputSchema).optional(), + disconnect: z.boolean().optional(), + delete: z.boolean().optional(), + connect: z.lazy(() => UserWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => UserUpdateWithoutPostsInputSchema), + z.lazy(() => UserUncheckedUpdateWithoutPostsInputSchema), + ]) + .optional(), + }) + .strict() + +export const UserCreateNestedOneWithoutProfileInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => UserCreateWithoutProfileInputSchema), + z.lazy(() => UserUncheckedCreateWithoutProfileInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => UserCreateOrConnectWithoutProfileInputSchema) + .optional(), + connect: z.lazy(() => UserWhereUniqueInputSchema).optional(), + }) + .strict() + +export const ProfileImageCreateNestedOneWithoutProfileInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileImageCreateWithoutProfileInputSchema), + z.lazy(() => ProfileImageUncheckedCreateWithoutProfileInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileImageCreateOrConnectWithoutProfileInputSchema) + .optional(), + connect: z.lazy(() => ProfileImageWhereUniqueInputSchema).optional(), + }) + .strict() + +export const UserUpdateOneWithoutProfileNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => UserCreateWithoutProfileInputSchema), + z.lazy(() => UserUncheckedCreateWithoutProfileInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => UserCreateOrConnectWithoutProfileInputSchema) + .optional(), + upsert: z.lazy(() => UserUpsertWithoutProfileInputSchema).optional(), + disconnect: z.boolean().optional(), + delete: z.boolean().optional(), + connect: z.lazy(() => UserWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => UserUpdateWithoutProfileInputSchema), + z.lazy(() => UserUncheckedUpdateWithoutProfileInputSchema), + ]) + .optional(), + }) + .strict() + +export const ProfileImageUpdateOneWithoutProfileNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileImageCreateWithoutProfileInputSchema), + z.lazy(() => ProfileImageUncheckedCreateWithoutProfileInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileImageCreateOrConnectWithoutProfileInputSchema) + .optional(), + upsert: z + .lazy(() => ProfileImageUpsertWithoutProfileInputSchema) + .optional(), + disconnect: z.boolean().optional(), + delete: z.boolean().optional(), + connect: z.lazy(() => ProfileImageWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => ProfileImageUpdateWithoutProfileInputSchema), + z.lazy(() => ProfileImageUncheckedUpdateWithoutProfileInputSchema), + ]) + .optional(), + }) + .strict() + +export const ProfileCreateNestedOneWithoutImageInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileCreateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutImageInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileCreateOrConnectWithoutImageInputSchema) + .optional(), + connect: z.lazy(() => ProfileWhereUniqueInputSchema).optional(), + }) + .strict() + +export const ProfileUncheckedCreateNestedOneWithoutImageInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileCreateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutImageInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileCreateOrConnectWithoutImageInputSchema) + .optional(), + connect: z.lazy(() => ProfileWhereUniqueInputSchema).optional(), + }) + .strict() + +export const BytesFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.instanceof(Uint8Array).optional(), + }) + .strict() + +export const ProfileUpdateOneWithoutImageNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileCreateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutImageInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileCreateOrConnectWithoutImageInputSchema) + .optional(), + upsert: z.lazy(() => ProfileUpsertWithoutImageInputSchema).optional(), + disconnect: z.boolean().optional(), + delete: z.boolean().optional(), + connect: z.lazy(() => ProfileWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => ProfileUpdateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedUpdateWithoutImageInputSchema), + ]) + .optional(), + }) + .strict() + +export const ProfileUncheckedUpdateOneWithoutImageNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => ProfileCreateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutImageInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => ProfileCreateOrConnectWithoutImageInputSchema) + .optional(), + upsert: z.lazy(() => ProfileUpsertWithoutImageInputSchema).optional(), + disconnect: z.boolean().optional(), + delete: z.boolean().optional(), + connect: z.lazy(() => ProfileWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => ProfileUpdateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedUpdateWithoutImageInputSchema), + ]) + .optional(), + }) + .strict() + +export const DummyCreateNestedOneWithoutDatatypeInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => DummyCreateWithoutDatatypeInputSchema), + z.lazy(() => DummyUncheckedCreateWithoutDatatypeInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => DummyCreateOrConnectWithoutDatatypeInputSchema) + .optional(), + connect: z.lazy(() => DummyWhereUniqueInputSchema).optional(), + }) + .strict() + +export const NullableDateTimeFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.coerce.date().optional().nullable(), + }) + .strict() + +export const NullableBoolFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.boolean().optional().nullable(), + }) + .strict() + +export const NullableBigIntFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + increment: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + decrement: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + multiply: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + divide: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + }) + .strict() + +export const NullableFloatFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.number().optional().nullable(), + increment: z.number().optional(), + decrement: z.number().optional(), + multiply: z.number().optional(), + divide: z.number().optional(), + }) + .strict() + +export const NullableBytesFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.instanceof(Uint8Array).optional().nullable(), + }) + .strict() + +export const DummyUpdateOneWithoutDatatypeNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => DummyCreateWithoutDatatypeInputSchema), + z.lazy(() => DummyUncheckedCreateWithoutDatatypeInputSchema), + ]) + .optional(), + connectOrCreate: z + .lazy(() => DummyCreateOrConnectWithoutDatatypeInputSchema) + .optional(), + upsert: z.lazy(() => DummyUpsertWithoutDatatypeInputSchema).optional(), + disconnect: z.boolean().optional(), + delete: z.boolean().optional(), + connect: z.lazy(() => DummyWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => DummyUpdateWithoutDatatypeInputSchema), + z.lazy(() => DummyUncheckedUpdateWithoutDatatypeInputSchema), + ]) + .optional(), + }) + .strict() + +export const DataTypesCreateNestedManyWithoutRelatedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema), + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema).array(), + z.lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => DataTypesCreateOrConnectWithoutRelatedInputSchema), + z + .lazy(() => DataTypesCreateOrConnectWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + createMany: z + .lazy(() => DataTypesCreateManyRelatedInputEnvelopeSchema) + .optional(), + connect: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + }) + .strict() + +export const DataTypesUncheckedCreateNestedManyWithoutRelatedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema), + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema).array(), + z.lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => DataTypesCreateOrConnectWithoutRelatedInputSchema), + z + .lazy(() => DataTypesCreateOrConnectWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + createMany: z + .lazy(() => DataTypesCreateManyRelatedInputEnvelopeSchema) + .optional(), + connect: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + }) + .strict() + +export const DataTypesUpdateManyWithoutRelatedNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema), + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema).array(), + z.lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => DataTypesCreateOrConnectWithoutRelatedInputSchema), + z + .lazy(() => DataTypesCreateOrConnectWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + upsert: z + .union([ + z.lazy(() => DataTypesUpsertWithWhereUniqueWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUpsertWithWhereUniqueWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + createMany: z + .lazy(() => DataTypesCreateManyRelatedInputEnvelopeSchema) + .optional(), + set: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + disconnect: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + delete: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + connect: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + update: z + .union([ + z.lazy(() => DataTypesUpdateWithWhereUniqueWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUpdateWithWhereUniqueWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + updateMany: z + .union([ + z.lazy(() => DataTypesUpdateManyWithWhereWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUpdateManyWithWhereWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + deleteMany: z + .union([ + z.lazy(() => DataTypesScalarWhereInputSchema), + z.lazy(() => DataTypesScalarWhereInputSchema).array(), + ]) + .optional(), + }) + .strict() + +export const DataTypesUncheckedUpdateManyWithoutRelatedNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema), + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema).array(), + z.lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => DataTypesCreateOrConnectWithoutRelatedInputSchema), + z + .lazy(() => DataTypesCreateOrConnectWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + upsert: z + .union([ + z.lazy(() => DataTypesUpsertWithWhereUniqueWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUpsertWithWhereUniqueWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + createMany: z + .lazy(() => DataTypesCreateManyRelatedInputEnvelopeSchema) + .optional(), + set: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + disconnect: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + delete: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + connect: z + .union([ + z.lazy(() => DataTypesWhereUniqueInputSchema), + z.lazy(() => DataTypesWhereUniqueInputSchema).array(), + ]) + .optional(), + update: z + .union([ + z.lazy(() => DataTypesUpdateWithWhereUniqueWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUpdateWithWhereUniqueWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + updateMany: z + .union([ + z.lazy(() => DataTypesUpdateManyWithWhereWithoutRelatedInputSchema), + z + .lazy(() => DataTypesUpdateManyWithWhereWithoutRelatedInputSchema) + .array(), + ]) + .optional(), + deleteMany: z + .union([ + z.lazy(() => DataTypesScalarWhereInputSchema), + z.lazy(() => DataTypesScalarWhereInputSchema).array(), + ]) + .optional(), + }) + .strict() + +export const NestedStringFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional(), + in: z.string().array().optional(), + notIn: z.string().array().optional(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + not: z + .union([z.string(), z.lazy(() => NestedStringFilterSchema)]) + .optional(), + }) + .strict() + +export const NestedIntNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([z.number(), z.lazy(() => NestedIntNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const NestedStringWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional(), + in: z.string().array().optional(), + notIn: z.string().array().optional(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + not: z + .union([ + z.string(), + z.lazy(() => NestedStringWithAggregatesFilterSchema), + ]) + .optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedStringFilterSchema).optional(), + _max: z.lazy(() => NestedStringFilterSchema).optional(), + }) + .strict() + +export const NestedIntFilterSchema: z.ZodType = z + .object({ + equals: z.number().optional(), + in: z.number().array().optional(), + notIn: z.number().array().optional(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z.union([z.number(), z.lazy(() => NestedIntFilterSchema)]).optional(), + }) + .strict() + +export const NestedIntNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([ + z.number(), + z.lazy(() => NestedIntNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _avg: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _sum: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _max: z.lazy(() => NestedIntNullableFilterSchema).optional(), + }) + .strict() + +export const NestedFloatNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([z.number(), z.lazy(() => NestedFloatNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const NestedStringNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + not: z + .union([z.string(), z.lazy(() => NestedStringNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const NestedIntWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional(), + in: z.number().array().optional(), + notIn: z.number().array().optional(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([z.number(), z.lazy(() => NestedIntWithAggregatesFilterSchema)]) + .optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _avg: z.lazy(() => NestedFloatFilterSchema).optional(), + _sum: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedIntFilterSchema).optional(), + _max: z.lazy(() => NestedIntFilterSchema).optional(), + }) + .strict() + +export const NestedFloatFilterSchema: z.ZodType = z + .object({ + equals: z.number().optional(), + in: z.number().array().optional(), + notIn: z.number().array().optional(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([z.number(), z.lazy(() => NestedFloatFilterSchema)]) + .optional(), + }) + .strict() + +export const NestedStringNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + not: z + .union([ + z.string(), + z.lazy(() => NestedStringNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedStringNullableFilterSchema).optional(), + _max: z.lazy(() => NestedStringNullableFilterSchema).optional(), + }) + .strict() + +export const NestedJsonNullableFilterSchema: z.ZodType = + z + .object({ + equals: z + .union([InputJsonValue, z.lazy(() => JsonNullValueFilterSchema)]) + .optional(), + path: z.string().array().optional(), + string_contains: z.string().optional(), + string_starts_with: z.string().optional(), + string_ends_with: z.string().optional(), + array_contains: InputJsonValue.optional().nullable(), + array_starts_with: InputJsonValue.optional().nullable(), + array_ends_with: InputJsonValue.optional().nullable(), + lt: InputJsonValue.optional(), + lte: InputJsonValue.optional(), + gt: InputJsonValue.optional(), + gte: InputJsonValue.optional(), + not: z + .union([InputJsonValue, z.lazy(() => JsonNullValueFilterSchema)]) + .optional(), + }) + .strict() + +export const NestedBytesFilterSchema: z.ZodType = z + .object({ + equals: z.instanceof(Uint8Array).optional(), + in: z.instanceof(Uint8Array).array().optional(), + notIn: z.instanceof(Uint8Array).array().optional(), + not: z + .union([z.instanceof(Uint8Array), z.lazy(() => NestedBytesFilterSchema)]) + .optional(), + }) + .strict() + +export const NestedBytesWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.instanceof(Uint8Array).optional(), + in: z.instanceof(Uint8Array).array().optional(), + notIn: z.instanceof(Uint8Array).array().optional(), + not: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NestedBytesWithAggregatesFilterSchema), + ]) + .optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedBytesFilterSchema).optional(), + _max: z.lazy(() => NestedBytesFilterSchema).optional(), + }) + .strict() + +export const NestedDateTimeNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.coerce.date().optional().nullable(), + in: z.coerce.date().array().optional().nullable(), + notIn: z.coerce.date().array().optional().nullable(), + lt: z.coerce.date().optional(), + lte: z.coerce.date().optional(), + gt: z.coerce.date().optional(), + gte: z.coerce.date().optional(), + not: z + .union([ + z.coerce.date(), + z.lazy(() => NestedDateTimeNullableFilterSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const NestedBoolNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.boolean().optional().nullable(), + not: z + .union([z.boolean(), z.lazy(() => NestedBoolNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const NestedUuidNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + not: z + .union([z.string(), z.lazy(() => NestedUuidNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const NestedBigIntNullableFilterSchema: z.ZodType = + z + .object({ + equals: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + in: z + .union([ + z + .bigint() + .gte(-9223372036854775808n) + .lte(9223372036854775807n) + .array(), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt) + .array(), + ]) + .optional() + .nullable(), + notIn: z + .union([ + z + .bigint() + .gte(-9223372036854775808n) + .lte(9223372036854775807n) + .array(), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt) + .array(), + ]) + .optional() + .nullable(), + lt: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + lte: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + gt: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + gte: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + not: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NestedBigIntNullableFilterSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const NestedBytesNullableFilterSchema: z.ZodType = + z + .object({ + equals: z.instanceof(Uint8Array).optional().nullable(), + in: z.instanceof(Uint8Array).array().optional().nullable(), + notIn: z.instanceof(Uint8Array).array().optional().nullable(), + not: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NestedBytesNullableFilterSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const NestedDateTimeNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.coerce.date().optional().nullable(), + in: z.coerce.date().array().optional().nullable(), + notIn: z.coerce.date().array().optional().nullable(), + lt: z.coerce.date().optional(), + lte: z.coerce.date().optional(), + gt: z.coerce.date().optional(), + gte: z.coerce.date().optional(), + not: z + .union([ + z.coerce.date(), + z.lazy(() => NestedDateTimeNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedDateTimeNullableFilterSchema).optional(), + _max: z.lazy(() => NestedDateTimeNullableFilterSchema).optional(), + }) + .strict() + +export const NestedBoolNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.boolean().optional().nullable(), + not: z + .union([ + z.boolean(), + z.lazy(() => NestedBoolNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedBoolNullableFilterSchema).optional(), + _max: z.lazy(() => NestedBoolNullableFilterSchema).optional(), + }) + .strict() + +export const NestedUuidNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + not: z + .union([ + z.string(), + z.lazy(() => NestedUuidNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedStringNullableFilterSchema).optional(), + _max: z.lazy(() => NestedStringNullableFilterSchema).optional(), + }) + .strict() + +export const NestedBigIntNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + in: z + .union([ + z + .bigint() + .gte(-9223372036854775808n) + .lte(9223372036854775807n) + .array(), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt) + .array(), + ]) + .optional() + .nullable(), + notIn: z + .union([ + z + .bigint() + .gte(-9223372036854775808n) + .lte(9223372036854775807n) + .array(), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt) + .array(), + ]) + .optional() + .nullable(), + lt: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + lte: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + gt: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + gte: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional(), + not: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NestedBigIntNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _avg: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _sum: z.lazy(() => NestedBigIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedBigIntNullableFilterSchema).optional(), + _max: z.lazy(() => NestedBigIntNullableFilterSchema).optional(), + }) + .strict() + +export const NestedFloatNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([ + z.number(), + z.lazy(() => NestedFloatNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _avg: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _sum: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _min: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + _max: z.lazy(() => NestedFloatNullableFilterSchema).optional(), + }) + .strict() + +export const NestedBytesNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.instanceof(Uint8Array).optional().nullable(), + in: z.instanceof(Uint8Array).array().optional().nullable(), + notIn: z.instanceof(Uint8Array).array().optional().nullable(), + not: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NestedBytesNullableWithAggregatesFilterSchema), + ]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedBytesNullableFilterSchema).optional(), + _max: z.lazy(() => NestedBytesNullableFilterSchema).optional(), + }) + .strict() + +export const PostCreateWithoutAuthorInputSchema: z.ZodType = + z + .object({ + id: z.number(), + title: z.string(), + contents: z.string(), + nbr: z.number().optional().nullable(), + }) + .strict() + +export const PostUncheckedCreateWithoutAuthorInputSchema: z.ZodType = + z + .object({ + id: z.number(), + title: z.string(), + contents: z.string(), + nbr: z.number().optional().nullable(), + }) + .strict() + +export const PostCreateOrConnectWithoutAuthorInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => PostWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => PostCreateWithoutAuthorInputSchema), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema), + ]), + }) + .strict() + +export const PostCreateManyAuthorInputEnvelopeSchema: z.ZodType = + z + .object({ + data: z.lazy(() => PostCreateManyAuthorInputSchema).array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() + +export const ProfileCreateWithoutUserInputSchema: z.ZodType = + z + .object({ + id: z.number(), + bio: z.string(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + image: z + .lazy(() => ProfileImageCreateNestedOneWithoutProfileInputSchema) + .optional(), + }) + .strict() + +export const ProfileUncheckedCreateWithoutUserInputSchema: z.ZodType = + z + .object({ + id: z.number(), + bio: z.string(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + imageId: z.string().optional().nullable(), + }) + .strict() + +export const ProfileCreateOrConnectWithoutUserInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => ProfileWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => ProfileCreateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutUserInputSchema), + ]), + }) + .strict() + +export const PostUpsertWithWhereUniqueWithoutAuthorInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => PostWhereUniqueInputSchema), + update: z.union([ + z.lazy(() => PostUpdateWithoutAuthorInputSchema), + z.lazy(() => PostUncheckedUpdateWithoutAuthorInputSchema), + ]), + create: z.union([ + z.lazy(() => PostCreateWithoutAuthorInputSchema), + z.lazy(() => PostUncheckedCreateWithoutAuthorInputSchema), + ]), + }) + .strict() + +export const PostUpdateWithWhereUniqueWithoutAuthorInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => PostWhereUniqueInputSchema), + data: z.union([ + z.lazy(() => PostUpdateWithoutAuthorInputSchema), + z.lazy(() => PostUncheckedUpdateWithoutAuthorInputSchema), + ]), + }) + .strict() + +export const PostUpdateManyWithWhereWithoutAuthorInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => PostScalarWhereInputSchema), + data: z.union([ + z.lazy(() => PostUpdateManyMutationInputSchema), + z.lazy(() => PostUncheckedUpdateManyWithoutPostsInputSchema), + ]), + }) + .strict() + +export const PostScalarWhereInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => PostScalarWhereInputSchema), + z.lazy(() => PostScalarWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => PostScalarWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => PostScalarWhereInputSchema), + z.lazy(() => PostScalarWhereInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + title: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + contents: z + .union([z.lazy(() => StringFilterSchema), z.string()]) + .optional(), + nbr: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + authorId: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + }) + .strict() + +export const ProfileUpsertWithoutUserInputSchema: z.ZodType = + z + .object({ + update: z.union([ + z.lazy(() => ProfileUpdateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedUpdateWithoutUserInputSchema), + ]), + create: z.union([ + z.lazy(() => ProfileCreateWithoutUserInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutUserInputSchema), + ]), + }) + .strict() + +export const ProfileUpdateWithoutUserInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + bio: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + image: z + .lazy(() => ProfileImageUpdateOneWithoutProfileNestedInputSchema) + .optional(), + }) + .strict() + +export const ProfileUncheckedUpdateWithoutUserInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + bio: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + imageId: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const UserCreateWithoutPostsInputSchema: z.ZodType = + z + .object({ + id: z.number(), + name: z.string().optional().nullable(), + meta: z.string().optional().nullable(), + profile: z + .lazy(() => ProfileCreateNestedOneWithoutUserInputSchema) + .optional(), + }) + .strict() + +export const UserUncheckedCreateWithoutPostsInputSchema: z.ZodType = + z + .object({ + id: z.number(), + name: z.string().optional().nullable(), + meta: z.string().optional().nullable(), + profile: z + .lazy(() => ProfileUncheckedCreateNestedOneWithoutUserInputSchema) + .optional(), + }) + .strict() + +export const UserCreateOrConnectWithoutPostsInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => UserWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => UserCreateWithoutPostsInputSchema), + z.lazy(() => UserUncheckedCreateWithoutPostsInputSchema), + ]), + }) + .strict() + +export const UserUpsertWithoutPostsInputSchema: z.ZodType = + z + .object({ + update: z.union([ + z.lazy(() => UserUpdateWithoutPostsInputSchema), + z.lazy(() => UserUncheckedUpdateWithoutPostsInputSchema), + ]), + create: z.union([ + z.lazy(() => UserCreateWithoutPostsInputSchema), + z.lazy(() => UserUncheckedCreateWithoutPostsInputSchema), + ]), + }) + .strict() + +export const UserUpdateWithoutPostsInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + name: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + profile: z + .lazy(() => ProfileUpdateOneWithoutUserNestedInputSchema) + .optional(), + }) + .strict() + +export const UserUncheckedUpdateWithoutPostsInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + name: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + profile: z + .lazy(() => ProfileUncheckedUpdateOneWithoutUserNestedInputSchema) + .optional(), + }) + .strict() + +export const UserCreateWithoutProfileInputSchema: z.ZodType = + z + .object({ + id: z.number(), + name: z.string().optional().nullable(), + meta: z.string().optional().nullable(), + posts: z + .lazy(() => PostCreateNestedManyWithoutAuthorInputSchema) + .optional(), + }) + .strict() + +export const UserUncheckedCreateWithoutProfileInputSchema: z.ZodType = + z + .object({ + id: z.number(), + name: z.string().optional().nullable(), + meta: z.string().optional().nullable(), + posts: z + .lazy(() => PostUncheckedCreateNestedManyWithoutAuthorInputSchema) + .optional(), + }) + .strict() + +export const UserCreateOrConnectWithoutProfileInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => UserWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => UserCreateWithoutProfileInputSchema), + z.lazy(() => UserUncheckedCreateWithoutProfileInputSchema), + ]), + }) + .strict() + +export const ProfileImageCreateWithoutProfileInputSchema: z.ZodType = + z + .object({ + id: z.string(), + image: z.instanceof(Uint8Array), + }) + .strict() + +export const ProfileImageUncheckedCreateWithoutProfileInputSchema: z.ZodType = + z + .object({ + id: z.string(), + image: z.instanceof(Uint8Array), + }) + .strict() + +export const ProfileImageCreateOrConnectWithoutProfileInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => ProfileImageWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => ProfileImageCreateWithoutProfileInputSchema), + z.lazy(() => ProfileImageUncheckedCreateWithoutProfileInputSchema), + ]), + }) + .strict() + +export const UserUpsertWithoutProfileInputSchema: z.ZodType = + z + .object({ + update: z.union([ + z.lazy(() => UserUpdateWithoutProfileInputSchema), + z.lazy(() => UserUncheckedUpdateWithoutProfileInputSchema), + ]), + create: z.union([ + z.lazy(() => UserCreateWithoutProfileInputSchema), + z.lazy(() => UserUncheckedCreateWithoutProfileInputSchema), + ]), + }) + .strict() + +export const UserUpdateWithoutProfileInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + name: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + posts: z + .lazy(() => PostUpdateManyWithoutAuthorNestedInputSchema) + .optional(), + }) + .strict() + +export const UserUncheckedUpdateWithoutProfileInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + name: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + meta: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + posts: z + .lazy(() => PostUncheckedUpdateManyWithoutAuthorNestedInputSchema) + .optional(), + }) + .strict() + +export const ProfileImageUpsertWithoutProfileInputSchema: z.ZodType = + z + .object({ + update: z.union([ + z.lazy(() => ProfileImageUpdateWithoutProfileInputSchema), + z.lazy(() => ProfileImageUncheckedUpdateWithoutProfileInputSchema), + ]), + create: z.union([ + z.lazy(() => ProfileImageCreateWithoutProfileInputSchema), + z.lazy(() => ProfileImageUncheckedCreateWithoutProfileInputSchema), + ]), + }) + .strict() + +export const ProfileImageUpdateWithoutProfileInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + image: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => BytesFieldUpdateOperationsInputSchema), + ]) + .optional(), + }) + .strict() + +export const ProfileImageUncheckedUpdateWithoutProfileInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + image: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => BytesFieldUpdateOperationsInputSchema), + ]) + .optional(), + }) + .strict() + +export const ProfileCreateWithoutImageInputSchema: z.ZodType = + z + .object({ + id: z.number(), + bio: z.string(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + user: z + .lazy(() => UserCreateNestedOneWithoutProfileInputSchema) + .optional(), + }) + .strict() + +export const ProfileUncheckedCreateWithoutImageInputSchema: z.ZodType = + z + .object({ + id: z.number(), + bio: z.string(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + userId: z.number(), + }) + .strict() + +export const ProfileCreateOrConnectWithoutImageInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => ProfileWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => ProfileCreateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutImageInputSchema), + ]), + }) + .strict() + +export const ProfileUpsertWithoutImageInputSchema: z.ZodType = + z + .object({ + update: z.union([ + z.lazy(() => ProfileUpdateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedUpdateWithoutImageInputSchema), + ]), + create: z.union([ + z.lazy(() => ProfileCreateWithoutImageInputSchema), + z.lazy(() => ProfileUncheckedCreateWithoutImageInputSchema), + ]), + }) + .strict() + +export const ProfileUpdateWithoutImageInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + bio: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + user: z + .lazy(() => UserUpdateOneWithoutProfileNestedInputSchema) + .optional(), + }) + .strict() + +export const ProfileUncheckedUpdateWithoutImageInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + bio: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + meta: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + userId: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + }) + .strict() + +export const DummyCreateWithoutDatatypeInputSchema: z.ZodType = + z + .object({ + id: z.number(), + timestamp: z.coerce.date().optional().nullable(), + }) + .strict() + +export const DummyUncheckedCreateWithoutDatatypeInputSchema: z.ZodType = + z + .object({ + id: z.number(), + timestamp: z.coerce.date().optional().nullable(), + }) + .strict() + +export const DummyCreateOrConnectWithoutDatatypeInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => DummyWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => DummyCreateWithoutDatatypeInputSchema), + z.lazy(() => DummyUncheckedCreateWithoutDatatypeInputSchema), + ]), + }) + .strict() + +export const DummyUpsertWithoutDatatypeInputSchema: z.ZodType = + z + .object({ + update: z.union([ + z.lazy(() => DummyUpdateWithoutDatatypeInputSchema), + z.lazy(() => DummyUncheckedUpdateWithoutDatatypeInputSchema), + ]), + create: z.union([ + z.lazy(() => DummyCreateWithoutDatatypeInputSchema), + z.lazy(() => DummyUncheckedCreateWithoutDatatypeInputSchema), + ]), + }) + .strict() + +export const DummyUpdateWithoutDatatypeInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DummyUncheckedUpdateWithoutDatatypeInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesCreateWithoutRelatedInputSchema: z.ZodType = + z + .object({ + id: z.number(), + date: z.coerce.date().optional().nullable(), + time: z.coerce.date().optional().nullable(), + timetz: z.coerce.date().optional().nullable(), + timestamp: z.coerce.date().optional().nullable(), + timestamptz: z.coerce.date().optional().nullable(), + bool: z.boolean().optional().nullable(), + uuid: z.string().optional().nullable(), + int2: z.number().optional().nullable(), + int4: z.number().optional().nullable(), + int8: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + float4: z.number().optional().nullable(), + float8: z.number().optional().nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z.instanceof(Uint8Array).optional().nullable(), + }) + .strict() + +export const DataTypesUncheckedCreateWithoutRelatedInputSchema: z.ZodType = + z + .object({ + id: z.number(), + date: z.coerce.date().optional().nullable(), + time: z.coerce.date().optional().nullable(), + timetz: z.coerce.date().optional().nullable(), + timestamp: z.coerce.date().optional().nullable(), + timestamptz: z.coerce.date().optional().nullable(), + bool: z.boolean().optional().nullable(), + uuid: z.string().optional().nullable(), + int2: z.number().optional().nullable(), + int4: z.number().optional().nullable(), + int8: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + float4: z.number().optional().nullable(), + float8: z.number().optional().nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z.instanceof(Uint8Array).optional().nullable(), + }) + .strict() + +export const DataTypesCreateOrConnectWithoutRelatedInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => DataTypesWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema), + z.lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema), + ]), + }) + .strict() + +export const DataTypesCreateManyRelatedInputEnvelopeSchema: z.ZodType = + z + .object({ + data: z.lazy(() => DataTypesCreateManyRelatedInputSchema).array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() + +export const DataTypesUpsertWithWhereUniqueWithoutRelatedInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => DataTypesWhereUniqueInputSchema), + update: z.union([ + z.lazy(() => DataTypesUpdateWithoutRelatedInputSchema), + z.lazy(() => DataTypesUncheckedUpdateWithoutRelatedInputSchema), + ]), + create: z.union([ + z.lazy(() => DataTypesCreateWithoutRelatedInputSchema), + z.lazy(() => DataTypesUncheckedCreateWithoutRelatedInputSchema), + ]), + }) + .strict() + +export const DataTypesUpdateWithWhereUniqueWithoutRelatedInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => DataTypesWhereUniqueInputSchema), + data: z.union([ + z.lazy(() => DataTypesUpdateWithoutRelatedInputSchema), + z.lazy(() => DataTypesUncheckedUpdateWithoutRelatedInputSchema), + ]), + }) + .strict() + +export const DataTypesUpdateManyWithWhereWithoutRelatedInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => DataTypesScalarWhereInputSchema), + data: z.union([ + z.lazy(() => DataTypesUpdateManyMutationInputSchema), + z.lazy(() => DataTypesUncheckedUpdateManyWithoutDatatypeInputSchema), + ]), + }) + .strict() + +export const DataTypesScalarWhereInputSchema: z.ZodType = + z + .object({ + AND: z + .union([ + z.lazy(() => DataTypesScalarWhereInputSchema), + z.lazy(() => DataTypesScalarWhereInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => DataTypesScalarWhereInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => DataTypesScalarWhereInputSchema), + z.lazy(() => DataTypesScalarWhereInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => IntFilterSchema), z.number()]).optional(), + date: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + time: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + timetz: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + timestamp: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + timestamptz: z + .union([z.lazy(() => DateTimeNullableFilterSchema), z.coerce.date()]) + .optional() + .nullable(), + bool: z + .union([z.lazy(() => BoolNullableFilterSchema), z.boolean()]) + .optional() + .nullable(), + uuid: z + .union([z.lazy(() => UuidNullableFilterSchema), z.string()]) + .optional() + .nullable(), + int2: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + int4: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + int8: z + .union([ + z.lazy(() => BigIntNullableFilterSchema), + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + ]) + .optional() + .nullable(), + float4: z + .union([z.lazy(() => FloatNullableFilterSchema), z.number()]) + .optional() + .nullable(), + float8: z + .union([z.lazy(() => FloatNullableFilterSchema), z.number()]) + .optional() + .nullable(), + json: z.lazy(() => JsonNullableFilterSchema).optional(), + bytea: z + .union([ + z.lazy(() => BytesNullableFilterSchema), + z.instanceof(Uint8Array), + ]) + .optional() + .nullable(), + relatedId: z + .union([z.lazy(() => IntNullableFilterSchema), z.number()]) + .optional() + .nullable(), + }) + .strict() + +export const PostCreateManyAuthorInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + title: z.string(), + contents: z.string(), + nbr: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + }) + .strict() + +export const PostUpdateWithoutAuthorInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + title: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + contents: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number(), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const PostUncheckedUpdateWithoutAuthorInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + title: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + contents: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number(), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const PostUncheckedUpdateManyWithoutPostsInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + title: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + contents: z + .union([ + z.string(), + z.lazy(() => StringFieldUpdateOperationsInputSchema), + ]) + .optional(), + nbr: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesCreateManyRelatedInputSchema: z.ZodType = + z + .object({ + id: z.number().int().gte(-2147483648).lte(2147483647), + date: z.coerce.date().optional().nullable(), + time: z.coerce.date().optional().nullable(), + timetz: z.coerce.date().optional().nullable(), + timestamp: z.coerce.date().optional().nullable(), + timestamptz: z.coerce.date().optional().nullable(), + bool: z.boolean().optional().nullable(), + uuid: z.string().uuid().optional().nullable(), + int2: z.number().int().gte(-32768).lte(32767).optional().nullable(), + int4: z + .number() + .int() + .gte(-2147483648) + .lte(2147483647) + .optional() + .nullable(), + int8: z + .union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]) + .optional() + .nullable(), + float4: z.number().or(z.nan()).optional().nullable(), + float8: z.number().or(z.nan()).optional().nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z.instanceof(Uint8Array).optional().nullable(), + }) + .strict() + +export const DataTypesUpdateWithoutRelatedInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + date: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + time: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timetz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamptz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + bool: z + .union([ + z.boolean(), + z.lazy(() => NullableBoolFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + uuid: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int2: z + .union([ + z.number(), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int4: z + .union([ + z.number(), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int8: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NullableBigIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float4: z + .union([ + z.number(), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float8: z + .union([ + z.number(), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NullableBytesFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesUncheckedUpdateWithoutRelatedInputSchema: z.ZodType = + z + .object({ + id: z + .union([z.number(), z.lazy(() => IntFieldUpdateOperationsInputSchema)]) + .optional(), + date: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + time: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timetz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamptz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + bool: z + .union([ + z.boolean(), + z.lazy(() => NullableBoolFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + uuid: z + .union([ + z.string(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int2: z + .union([ + z.number(), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int4: z + .union([ + z.number(), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int8: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NullableBigIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float4: z + .union([ + z.number(), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float8: z + .union([ + z.number(), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NullableBytesFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +export const DataTypesUncheckedUpdateManyWithoutDatatypeInputSchema: z.ZodType = + z + .object({ + id: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => IntFieldUpdateOperationsInputSchema), + ]) + .optional(), + date: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + time: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timetz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamp: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + timestamptz: z + .union([ + z.coerce.date(), + z.lazy(() => NullableDateTimeFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + bool: z + .union([ + z.boolean(), + z.lazy(() => NullableBoolFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + uuid: z + .union([ + z.string().uuid(), + z.lazy(() => NullableStringFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int2: z + .union([ + z.number().int().gte(-32768).lte(32767), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int4: z + .union([ + z.number().int().gte(-2147483648).lte(2147483647), + z.lazy(() => NullableIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + int8: z + .union([ + z.union([ + z.bigint().gte(-9223372036854775808n).lte(9223372036854775807n), + z + .number() + .int() + .gte(Number.MIN_SAFE_INTEGER) + .lte(Number.MAX_SAFE_INTEGER) + .transform(BigInt), + ]), + z.lazy(() => NullableBigIntFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float4: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + float8: z + .union([ + z.number().or(z.nan()), + z.lazy(() => NullableFloatFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + json: z + .union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValue]) + .optional(), + bytea: z + .union([ + z.instanceof(Uint8Array), + z.lazy(() => NullableBytesFieldUpdateOperationsInputSchema), + ]) + .optional() + .nullable(), + }) + .strict() + +///////////////////////////////////////// +// ARGS +///////////////////////////////////////// + +export const ItemsFindFirstArgsSchema: z.ZodType = z + .object({ + select: ItemsSelectSchema.optional(), + where: ItemsWhereInputSchema.optional(), + orderBy: z + .union([ + ItemsOrderByWithRelationInputSchema.array(), + ItemsOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ItemsWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ItemsScalarFieldEnumSchema.array().optional(), + }) + .strict() + +export const ItemsFindFirstOrThrowArgsSchema: z.ZodType = + z + .object({ + select: ItemsSelectSchema.optional(), + where: ItemsWhereInputSchema.optional(), + orderBy: z + .union([ + ItemsOrderByWithRelationInputSchema.array(), + ItemsOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ItemsWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ItemsScalarFieldEnumSchema.array().optional(), + }) + .strict() + +export const ItemsFindManyArgsSchema: z.ZodType = z + .object({ + select: ItemsSelectSchema.optional(), + where: ItemsWhereInputSchema.optional(), + orderBy: z + .union([ + ItemsOrderByWithRelationInputSchema.array(), + ItemsOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ItemsWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ItemsScalarFieldEnumSchema.array().optional(), + }) + .strict() + +export const ItemsAggregateArgsSchema: z.ZodType = z + .object({ + where: ItemsWhereInputSchema.optional(), + orderBy: z + .union([ + ItemsOrderByWithRelationInputSchema.array(), + ItemsOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ItemsWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() + +export const ItemsGroupByArgsSchema: z.ZodType = z + .object({ + where: ItemsWhereInputSchema.optional(), + orderBy: z + .union([ + ItemsOrderByWithAggregationInputSchema.array(), + ItemsOrderByWithAggregationInputSchema, + ]) + .optional(), + by: ItemsScalarFieldEnumSchema.array(), + having: ItemsScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() + +export const ItemsFindUniqueArgsSchema: z.ZodType = + z + .object({ + select: ItemsSelectSchema.optional(), + where: ItemsWhereUniqueInputSchema, + }) + .strict() + +export const ItemsFindUniqueOrThrowArgsSchema: z.ZodType = + z + .object({ + select: ItemsSelectSchema.optional(), + where: ItemsWhereUniqueInputSchema, + }) + .strict() + +export const UserFindFirstArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereInputSchema.optional(), + orderBy: z + .union([ + UserOrderByWithRelationInputSchema.array(), + UserOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: UserWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: UserScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const UserFindFirstOrThrowArgsSchema: z.ZodType = + z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereInputSchema.optional(), + orderBy: z + .union([ + UserOrderByWithRelationInputSchema.array(), + UserOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: UserWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: UserScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const UserFindManyArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereInputSchema.optional(), + orderBy: z + .union([ + UserOrderByWithRelationInputSchema.array(), + UserOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: UserWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: UserScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const UserAggregateArgsSchema: z.ZodType = z + .object({ + where: UserWhereInputSchema.optional(), + orderBy: z + .union([ + UserOrderByWithRelationInputSchema.array(), + UserOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: UserWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const UserGroupByArgsSchema: z.ZodType = z + .object({ + where: UserWhereInputSchema.optional(), + orderBy: z + .union([ + UserOrderByWithAggregationInputSchema.array(), + UserOrderByWithAggregationInputSchema, + ]) + .optional(), + by: UserScalarFieldEnumSchema.array(), + having: UserScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const UserFindUniqueArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const UserFindUniqueOrThrowArgsSchema: z.ZodType = + z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const PostFindFirstArgsSchema: z.ZodType = z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + where: PostWhereInputSchema.optional(), + orderBy: z + .union([ + PostOrderByWithRelationInputSchema.array(), + PostOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: PostWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: PostScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const PostFindFirstOrThrowArgsSchema: z.ZodType = + z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + where: PostWhereInputSchema.optional(), + orderBy: z + .union([ + PostOrderByWithRelationInputSchema.array(), + PostOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: PostWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: PostScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const PostFindManyArgsSchema: z.ZodType = z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + where: PostWhereInputSchema.optional(), + orderBy: z + .union([ + PostOrderByWithRelationInputSchema.array(), + PostOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: PostWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: PostScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const PostAggregateArgsSchema: z.ZodType = z + .object({ + where: PostWhereInputSchema.optional(), + orderBy: z + .union([ + PostOrderByWithRelationInputSchema.array(), + PostOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: PostWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const PostGroupByArgsSchema: z.ZodType = z + .object({ + where: PostWhereInputSchema.optional(), + orderBy: z + .union([ + PostOrderByWithAggregationInputSchema.array(), + PostOrderByWithAggregationInputSchema, + ]) + .optional(), + by: PostScalarFieldEnumSchema.array(), + having: PostScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const PostFindUniqueArgsSchema: z.ZodType = z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + where: PostWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const PostFindUniqueOrThrowArgsSchema: z.ZodType = + z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + where: PostWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ProfileFindFirstArgsSchema: z.ZodType = + z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + where: ProfileWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileOrderByWithRelationInputSchema.array(), + ProfileOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ProfileWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ProfileScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const ProfileFindFirstOrThrowArgsSchema: z.ZodType = + z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + where: ProfileWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileOrderByWithRelationInputSchema.array(), + ProfileOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ProfileWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ProfileScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const ProfileFindManyArgsSchema: z.ZodType = + z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + where: ProfileWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileOrderByWithRelationInputSchema.array(), + ProfileOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ProfileWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ProfileScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const ProfileAggregateArgsSchema: z.ZodType = + z + .object({ + where: ProfileWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileOrderByWithRelationInputSchema.array(), + ProfileOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ProfileWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const ProfileGroupByArgsSchema: z.ZodType = z + .object({ + where: ProfileWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileOrderByWithAggregationInputSchema.array(), + ProfileOrderByWithAggregationInputSchema, + ]) + .optional(), + by: ProfileScalarFieldEnumSchema.array(), + having: ProfileScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const ProfileFindUniqueArgsSchema: z.ZodType = + z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + where: ProfileWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ProfileFindUniqueOrThrowArgsSchema: z.ZodType = + z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + where: ProfileWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ProfileImageFindFirstArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + where: ProfileImageWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileImageOrderByWithRelationInputSchema.array(), + ProfileImageOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ProfileImageWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ProfileImageScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const ProfileImageFindFirstOrThrowArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + where: ProfileImageWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileImageOrderByWithRelationInputSchema.array(), + ProfileImageOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ProfileImageWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ProfileImageScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const ProfileImageFindManyArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + where: ProfileImageWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileImageOrderByWithRelationInputSchema.array(), + ProfileImageOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ProfileImageWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: ProfileImageScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const ProfileImageAggregateArgsSchema: z.ZodType = + z + .object({ + where: ProfileImageWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileImageOrderByWithRelationInputSchema.array(), + ProfileImageOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: ProfileImageWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const ProfileImageGroupByArgsSchema: z.ZodType = + z + .object({ + where: ProfileImageWhereInputSchema.optional(), + orderBy: z + .union([ + ProfileImageOrderByWithAggregationInputSchema.array(), + ProfileImageOrderByWithAggregationInputSchema, + ]) + .optional(), + by: ProfileImageScalarFieldEnumSchema.array(), + having: ProfileImageScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const ProfileImageFindUniqueArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + where: ProfileImageWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ProfileImageFindUniqueOrThrowArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + where: ProfileImageWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const DataTypesFindFirstArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + where: DataTypesWhereInputSchema.optional(), + orderBy: z + .union([ + DataTypesOrderByWithRelationInputSchema.array(), + DataTypesOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: DataTypesWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: DataTypesScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const DataTypesFindFirstOrThrowArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + where: DataTypesWhereInputSchema.optional(), + orderBy: z + .union([ + DataTypesOrderByWithRelationInputSchema.array(), + DataTypesOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: DataTypesWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: DataTypesScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const DataTypesFindManyArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + where: DataTypesWhereInputSchema.optional(), + orderBy: z + .union([ + DataTypesOrderByWithRelationInputSchema.array(), + DataTypesOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: DataTypesWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: DataTypesScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const DataTypesAggregateArgsSchema: z.ZodType = + z + .object({ + where: DataTypesWhereInputSchema.optional(), + orderBy: z + .union([ + DataTypesOrderByWithRelationInputSchema.array(), + DataTypesOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: DataTypesWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const DataTypesGroupByArgsSchema: z.ZodType = + z + .object({ + where: DataTypesWhereInputSchema.optional(), + orderBy: z + .union([ + DataTypesOrderByWithAggregationInputSchema.array(), + DataTypesOrderByWithAggregationInputSchema, + ]) + .optional(), + by: DataTypesScalarFieldEnumSchema.array(), + having: DataTypesScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const DataTypesFindUniqueArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + where: DataTypesWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const DataTypesFindUniqueOrThrowArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + where: DataTypesWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const DummyFindFirstArgsSchema: z.ZodType = z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + where: DummyWhereInputSchema.optional(), + orderBy: z + .union([ + DummyOrderByWithRelationInputSchema.array(), + DummyOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: DummyWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: DummyScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const DummyFindFirstOrThrowArgsSchema: z.ZodType = + z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + where: DummyWhereInputSchema.optional(), + orderBy: z + .union([ + DummyOrderByWithRelationInputSchema.array(), + DummyOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: DummyWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: DummyScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const DummyFindManyArgsSchema: z.ZodType = z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + where: DummyWhereInputSchema.optional(), + orderBy: z + .union([ + DummyOrderByWithRelationInputSchema.array(), + DummyOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: DummyWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: DummyScalarFieldEnumSchema.array().optional(), + }) + .strict() as z.ZodType + +export const DummyAggregateArgsSchema: z.ZodType = z + .object({ + where: DummyWhereInputSchema.optional(), + orderBy: z + .union([ + DummyOrderByWithRelationInputSchema.array(), + DummyOrderByWithRelationInputSchema, + ]) + .optional(), + cursor: DummyWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const DummyGroupByArgsSchema: z.ZodType = z + .object({ + where: DummyWhereInputSchema.optional(), + orderBy: z + .union([ + DummyOrderByWithAggregationInputSchema.array(), + DummyOrderByWithAggregationInputSchema, + ]) + .optional(), + by: DummyScalarFieldEnumSchema.array(), + having: DummyScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() as z.ZodType + +export const DummyFindUniqueArgsSchema: z.ZodType = + z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + where: DummyWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const DummyFindUniqueOrThrowArgsSchema: z.ZodType = + z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + where: DummyWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ItemsCreateArgsSchema: z.ZodType = z + .object({ + select: ItemsSelectSchema.optional(), + data: z.union([ItemsCreateInputSchema, ItemsUncheckedCreateInputSchema]), + }) + .strict() + +export const ItemsUpsertArgsSchema: z.ZodType = z + .object({ + select: ItemsSelectSchema.optional(), + where: ItemsWhereUniqueInputSchema, + create: z.union([ItemsCreateInputSchema, ItemsUncheckedCreateInputSchema]), + update: z.union([ItemsUpdateInputSchema, ItemsUncheckedUpdateInputSchema]), + }) + .strict() + +export const ItemsCreateManyArgsSchema: z.ZodType = + z + .object({ + data: ItemsCreateManyInputSchema.array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() + +export const ItemsDeleteArgsSchema: z.ZodType = z + .object({ + select: ItemsSelectSchema.optional(), + where: ItemsWhereUniqueInputSchema, + }) + .strict() + +export const ItemsUpdateArgsSchema: z.ZodType = z + .object({ + select: ItemsSelectSchema.optional(), + data: z.union([ItemsUpdateInputSchema, ItemsUncheckedUpdateInputSchema]), + where: ItemsWhereUniqueInputSchema, + }) + .strict() + +export const ItemsUpdateManyArgsSchema: z.ZodType = + z + .object({ + data: z.union([ + ItemsUpdateManyMutationInputSchema, + ItemsUncheckedUpdateManyInputSchema, + ]), + where: ItemsWhereInputSchema.optional(), + }) + .strict() + +export const ItemsDeleteManyArgsSchema: z.ZodType = + z + .object({ + where: ItemsWhereInputSchema.optional(), + }) + .strict() + +export const UserCreateArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + data: z.union([UserCreateInputSchema, UserUncheckedCreateInputSchema]), + }) + .strict() as z.ZodType + +export const UserUpsertArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereUniqueInputSchema, + create: z.union([UserCreateInputSchema, UserUncheckedCreateInputSchema]), + update: z.union([UserUpdateInputSchema, UserUncheckedUpdateInputSchema]), + }) + .strict() as z.ZodType + +export const UserCreateManyArgsSchema: z.ZodType = z + .object({ + data: UserCreateManyInputSchema.array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() as z.ZodType + +export const UserDeleteArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const UserUpdateArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + data: z.union([UserUpdateInputSchema, UserUncheckedUpdateInputSchema]), + where: UserWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const UserUpdateManyArgsSchema: z.ZodType = z + .object({ + data: z.union([ + UserUpdateManyMutationInputSchema, + UserUncheckedUpdateManyInputSchema, + ]), + where: UserWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const UserDeleteManyArgsSchema: z.ZodType = z + .object({ + where: UserWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const PostCreateArgsSchema: z.ZodType = z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + data: z.union([PostCreateInputSchema, PostUncheckedCreateInputSchema]), + }) + .strict() as z.ZodType + +export const PostUpsertArgsSchema: z.ZodType = z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + where: PostWhereUniqueInputSchema, + create: z.union([PostCreateInputSchema, PostUncheckedCreateInputSchema]), + update: z.union([PostUpdateInputSchema, PostUncheckedUpdateInputSchema]), + }) + .strict() as z.ZodType + +export const PostCreateManyArgsSchema: z.ZodType = z + .object({ + data: PostCreateManyInputSchema.array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() as z.ZodType + +export const PostDeleteArgsSchema: z.ZodType = z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + where: PostWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const PostUpdateArgsSchema: z.ZodType = z + .object({ + select: PostSelectSchema.optional(), + include: PostIncludeSchema.optional(), + data: z.union([PostUpdateInputSchema, PostUncheckedUpdateInputSchema]), + where: PostWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const PostUpdateManyArgsSchema: z.ZodType = z + .object({ + data: z.union([ + PostUpdateManyMutationInputSchema, + PostUncheckedUpdateManyInputSchema, + ]), + where: PostWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const PostDeleteManyArgsSchema: z.ZodType = z + .object({ + where: PostWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const ProfileCreateArgsSchema: z.ZodType = z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + data: z.union([ + ProfileCreateInputSchema, + ProfileUncheckedCreateInputSchema, + ]), + }) + .strict() as z.ZodType + +export const ProfileUpsertArgsSchema: z.ZodType = z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + where: ProfileWhereUniqueInputSchema, + create: z.union([ + ProfileCreateInputSchema, + ProfileUncheckedCreateInputSchema, + ]), + update: z.union([ + ProfileUpdateInputSchema, + ProfileUncheckedUpdateInputSchema, + ]), + }) + .strict() as z.ZodType + +export const ProfileCreateManyArgsSchema: z.ZodType = + z + .object({ + data: ProfileCreateManyInputSchema.array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() as z.ZodType + +export const ProfileDeleteArgsSchema: z.ZodType = z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + where: ProfileWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ProfileUpdateArgsSchema: z.ZodType = z + .object({ + select: ProfileSelectSchema.optional(), + include: ProfileIncludeSchema.optional(), + data: z.union([ + ProfileUpdateInputSchema, + ProfileUncheckedUpdateInputSchema, + ]), + where: ProfileWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ProfileUpdateManyArgsSchema: z.ZodType = + z + .object({ + data: z.union([ + ProfileUpdateManyMutationInputSchema, + ProfileUncheckedUpdateManyInputSchema, + ]), + where: ProfileWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const ProfileDeleteManyArgsSchema: z.ZodType = + z + .object({ + where: ProfileWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const ProfileImageCreateArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + data: z.union([ + ProfileImageCreateInputSchema, + ProfileImageUncheckedCreateInputSchema, + ]), + }) + .strict() as z.ZodType + +export const ProfileImageUpsertArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + where: ProfileImageWhereUniqueInputSchema, + create: z.union([ + ProfileImageCreateInputSchema, + ProfileImageUncheckedCreateInputSchema, + ]), + update: z.union([ + ProfileImageUpdateInputSchema, + ProfileImageUncheckedUpdateInputSchema, + ]), + }) + .strict() as z.ZodType + +export const ProfileImageCreateManyArgsSchema: z.ZodType = + z + .object({ + data: ProfileImageCreateManyInputSchema.array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() as z.ZodType + +export const ProfileImageDeleteArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + where: ProfileImageWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ProfileImageUpdateArgsSchema: z.ZodType = + z + .object({ + select: ProfileImageSelectSchema.optional(), + include: ProfileImageIncludeSchema.optional(), + data: z.union([ + ProfileImageUpdateInputSchema, + ProfileImageUncheckedUpdateInputSchema, + ]), + where: ProfileImageWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const ProfileImageUpdateManyArgsSchema: z.ZodType = + z + .object({ + data: z.union([ + ProfileImageUpdateManyMutationInputSchema, + ProfileImageUncheckedUpdateManyInputSchema, + ]), + where: ProfileImageWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const ProfileImageDeleteManyArgsSchema: z.ZodType = + z + .object({ + where: ProfileImageWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const DataTypesCreateArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + data: z.union([ + DataTypesCreateInputSchema, + DataTypesUncheckedCreateInputSchema, + ]), + }) + .strict() as z.ZodType + +export const DataTypesUpsertArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + where: DataTypesWhereUniqueInputSchema, + create: z.union([ + DataTypesCreateInputSchema, + DataTypesUncheckedCreateInputSchema, + ]), + update: z.union([ + DataTypesUpdateInputSchema, + DataTypesUncheckedUpdateInputSchema, + ]), + }) + .strict() as z.ZodType + +export const DataTypesCreateManyArgsSchema: z.ZodType = + z + .object({ + data: DataTypesCreateManyInputSchema.array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() as z.ZodType + +export const DataTypesDeleteArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + where: DataTypesWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const DataTypesUpdateArgsSchema: z.ZodType = + z + .object({ + select: DataTypesSelectSchema.optional(), + include: DataTypesIncludeSchema.optional(), + data: z.union([ + DataTypesUpdateInputSchema, + DataTypesUncheckedUpdateInputSchema, + ]), + where: DataTypesWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const DataTypesUpdateManyArgsSchema: z.ZodType = + z + .object({ + data: z.union([ + DataTypesUpdateManyMutationInputSchema, + DataTypesUncheckedUpdateManyInputSchema, + ]), + where: DataTypesWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const DataTypesDeleteManyArgsSchema: z.ZodType = + z + .object({ + where: DataTypesWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const DummyCreateArgsSchema: z.ZodType = z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + data: z.union([DummyCreateInputSchema, DummyUncheckedCreateInputSchema]), + }) + .strict() as z.ZodType + +export const DummyUpsertArgsSchema: z.ZodType = z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + where: DummyWhereUniqueInputSchema, + create: z.union([DummyCreateInputSchema, DummyUncheckedCreateInputSchema]), + update: z.union([DummyUpdateInputSchema, DummyUncheckedUpdateInputSchema]), + }) + .strict() as z.ZodType + +export const DummyCreateManyArgsSchema: z.ZodType = + z + .object({ + data: DummyCreateManyInputSchema.array(), + skipDuplicates: z.boolean().optional(), + }) + .strict() as z.ZodType + +export const DummyDeleteArgsSchema: z.ZodType = z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + where: DummyWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const DummyUpdateArgsSchema: z.ZodType = z + .object({ + select: DummySelectSchema.optional(), + include: DummyIncludeSchema.optional(), + data: z.union([DummyUpdateInputSchema, DummyUncheckedUpdateInputSchema]), + where: DummyWhereUniqueInputSchema, + }) + .strict() as z.ZodType + +export const DummyUpdateManyArgsSchema: z.ZodType = + z + .object({ + data: z.union([ + DummyUpdateManyMutationInputSchema, + DummyUncheckedUpdateManyInputSchema, + ]), + where: DummyWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +export const DummyDeleteManyArgsSchema: z.ZodType = + z + .object({ + where: DummyWhereInputSchema.optional(), + }) + .strict() as z.ZodType + +interface ItemsGetPayload extends HKT { + readonly _A?: boolean | null | undefined | Prisma.ItemsArgs + readonly type: Omit< + Prisma.ItemsGetPayload, + 'Please either choose `select` or `include`' + > +} + +interface UserGetPayload extends HKT { + readonly _A?: boolean | null | undefined | Prisma.UserArgs + readonly type: Omit< + Prisma.UserGetPayload, + 'Please either choose `select` or `include`' + > +} + +interface PostGetPayload extends HKT { + readonly _A?: boolean | null | undefined | Prisma.PostArgs + readonly type: Omit< + Prisma.PostGetPayload, + 'Please either choose `select` or `include`' + > +} + +interface ProfileGetPayload extends HKT { + readonly _A?: boolean | null | undefined | Prisma.ProfileArgs + readonly type: Omit< + Prisma.ProfileGetPayload, + 'Please either choose `select` or `include`' + > +} + +interface ProfileImageGetPayload extends HKT { + readonly _A?: boolean | null | undefined | Prisma.ProfileImageArgs + readonly type: Omit< + Prisma.ProfileImageGetPayload, + 'Please either choose `select` or `include`' + > +} + +interface DataTypesGetPayload extends HKT { + readonly _A?: boolean | null | undefined | Prisma.DataTypesArgs + readonly type: Omit< + Prisma.DataTypesGetPayload, + 'Please either choose `select` or `include`' + > +} + +interface DummyGetPayload extends HKT { + readonly _A?: boolean | null | undefined | Prisma.DummyArgs + readonly type: Omit< + Prisma.DummyGetPayload, + 'Please either choose `select` or `include`' + > +} + +export const tableSchemas = { + Items: { + fields: new Map([ + ['value', 'TEXT'], + ['nbr', 'INT4'], + ]), + relations: [], + modelSchema: (ItemsCreateInputSchema as any) + .partial() + .or((ItemsUncheckedCreateInputSchema as any).partial()), + createSchema: ItemsCreateArgsSchema, + createManySchema: ItemsCreateManyArgsSchema, + findUniqueSchema: ItemsFindUniqueArgsSchema, + findSchema: ItemsFindFirstArgsSchema, + updateSchema: ItemsUpdateArgsSchema, + updateManySchema: ItemsUpdateManyArgsSchema, + upsertSchema: ItemsUpsertArgsSchema, + deleteSchema: ItemsDeleteArgsSchema, + deleteManySchema: ItemsDeleteManyArgsSchema, + } as unknown as TableSchema< + z.infer, + Prisma.ItemsCreateArgs['data'], + Prisma.ItemsUpdateArgs['data'], + Prisma.ItemsFindFirstArgs['select'], + Prisma.ItemsFindFirstArgs['where'], + Prisma.ItemsFindUniqueArgs['where'], + never, + Prisma.ItemsFindFirstArgs['orderBy'], + Prisma.ItemsScalarFieldEnum, + ItemsGetPayload + >, + User: { + fields: new Map([ + ['id', 'INT4'], + ['name', 'TEXT'], + ['meta', 'TEXT'], + ]), + relations: [ + new Relation('posts', '', '', 'Post', 'PostToUser', 'many'), + new Relation('profile', '', '', 'Profile', 'ProfileToUser', 'one'), + ], + modelSchema: (UserCreateInputSchema as any) + .partial() + .or((UserUncheckedCreateInputSchema as any).partial()), + createSchema: UserCreateArgsSchema, + createManySchema: UserCreateManyArgsSchema, + findUniqueSchema: UserFindUniqueArgsSchema, + findSchema: UserFindFirstArgsSchema, + updateSchema: UserUpdateArgsSchema, + updateManySchema: UserUpdateManyArgsSchema, + upsertSchema: UserUpsertArgsSchema, + deleteSchema: UserDeleteArgsSchema, + deleteManySchema: UserDeleteManyArgsSchema, + } as unknown as TableSchema< + z.infer, + Prisma.UserCreateArgs['data'], + Prisma.UserUpdateArgs['data'], + Prisma.UserFindFirstArgs['select'], + Prisma.UserFindFirstArgs['where'], + Prisma.UserFindUniqueArgs['where'], + Omit, + Prisma.UserFindFirstArgs['orderBy'], + Prisma.UserScalarFieldEnum, + UserGetPayload + >, + Post: { + fields: new Map([ + ['id', 'INT4'], + ['title', 'TEXT'], + ['contents', 'TEXT'], + ['nbr', 'INT4'], + ['authorId', 'INT4'], + ]), + relations: [ + new Relation('author', 'authorId', 'id', 'User', 'PostToUser', 'one'), + ], + modelSchema: (PostCreateInputSchema as any) + .partial() + .or((PostUncheckedCreateInputSchema as any).partial()), + createSchema: PostCreateArgsSchema, + createManySchema: PostCreateManyArgsSchema, + findUniqueSchema: PostFindUniqueArgsSchema, + findSchema: PostFindFirstArgsSchema, + updateSchema: PostUpdateArgsSchema, + updateManySchema: PostUpdateManyArgsSchema, + upsertSchema: PostUpsertArgsSchema, + deleteSchema: PostDeleteArgsSchema, + deleteManySchema: PostDeleteManyArgsSchema, + } as unknown as TableSchema< + z.infer, + Prisma.PostCreateArgs['data'], + Prisma.PostUpdateArgs['data'], + Prisma.PostFindFirstArgs['select'], + Prisma.PostFindFirstArgs['where'], + Prisma.PostFindUniqueArgs['where'], + Omit, + Prisma.PostFindFirstArgs['orderBy'], + Prisma.PostScalarFieldEnum, + PostGetPayload + >, + Profile: { + fields: new Map([ + ['id', 'INT4'], + ['bio', 'TEXT'], + ['meta', 'JSONB'], + ['userId', 'INT4'], + ['imageId', 'TEXT'], + ]), + relations: [ + new Relation('user', 'userId', 'id', 'User', 'ProfileToUser', 'one'), + new Relation( + 'image', + 'imageId', + 'id', + 'ProfileImage', + 'ProfileToProfileImage', + 'one', + ), + ], + modelSchema: (ProfileCreateInputSchema as any) + .partial() + .or((ProfileUncheckedCreateInputSchema as any).partial()), + createSchema: ProfileCreateArgsSchema, + createManySchema: ProfileCreateManyArgsSchema, + findUniqueSchema: ProfileFindUniqueArgsSchema, + findSchema: ProfileFindFirstArgsSchema, + updateSchema: ProfileUpdateArgsSchema, + updateManySchema: ProfileUpdateManyArgsSchema, + upsertSchema: ProfileUpsertArgsSchema, + deleteSchema: ProfileDeleteArgsSchema, + deleteManySchema: ProfileDeleteManyArgsSchema, + } as unknown as TableSchema< + z.infer, + Prisma.ProfileCreateArgs['data'], + Prisma.ProfileUpdateArgs['data'], + Prisma.ProfileFindFirstArgs['select'], + Prisma.ProfileFindFirstArgs['where'], + Prisma.ProfileFindUniqueArgs['where'], + Omit, + Prisma.ProfileFindFirstArgs['orderBy'], + Prisma.ProfileScalarFieldEnum, + ProfileGetPayload + >, + ProfileImage: { + fields: new Map([ + ['id', 'TEXT'], + ['image', 'BYTEA'], + ]), + relations: [ + new Relation( + 'profile', + '', + '', + 'Profile', + 'ProfileToProfileImage', + 'one', + ), + ], + modelSchema: (ProfileImageCreateInputSchema as any) + .partial() + .or((ProfileImageUncheckedCreateInputSchema as any).partial()), + createSchema: ProfileImageCreateArgsSchema, + createManySchema: ProfileImageCreateManyArgsSchema, + findUniqueSchema: ProfileImageFindUniqueArgsSchema, + findSchema: ProfileImageFindFirstArgsSchema, + updateSchema: ProfileImageUpdateArgsSchema, + updateManySchema: ProfileImageUpdateManyArgsSchema, + upsertSchema: ProfileImageUpsertArgsSchema, + deleteSchema: ProfileImageDeleteArgsSchema, + deleteManySchema: ProfileImageDeleteManyArgsSchema, + } as unknown as TableSchema< + z.infer, + Prisma.ProfileImageCreateArgs['data'], + Prisma.ProfileImageUpdateArgs['data'], + Prisma.ProfileImageFindFirstArgs['select'], + Prisma.ProfileImageFindFirstArgs['where'], + Prisma.ProfileImageFindUniqueArgs['where'], + Omit, + Prisma.ProfileImageFindFirstArgs['orderBy'], + Prisma.ProfileImageScalarFieldEnum, + ProfileImageGetPayload + >, + DataTypes: { + fields: new Map([ + ['id', 'INT4'], + ['date', 'DATE'], + ['time', 'TIME'], + ['timetz', 'TIMETZ'], + ['timestamp', 'TIMESTAMP'], + ['timestamptz', 'TIMESTAMPTZ'], + ['bool', 'BOOL'], + ['uuid', 'UUID'], + ['int2', 'INT2'], + ['int4', 'INT4'], + ['int8', 'INT8'], + ['float4', 'FLOAT4'], + ['float8', 'FLOAT8'], + ['json', 'JSONB'], + ['bytea', 'BYTEA'], + ['relatedId', 'INT4'], + ]), + relations: [ + new Relation( + 'related', + 'relatedId', + 'id', + 'Dummy', + 'DataTypesToDummy', + 'one', + ), + ], + modelSchema: (DataTypesCreateInputSchema as any) + .partial() + .or((DataTypesUncheckedCreateInputSchema as any).partial()), + createSchema: DataTypesCreateArgsSchema, + createManySchema: DataTypesCreateManyArgsSchema, + findUniqueSchema: DataTypesFindUniqueArgsSchema, + findSchema: DataTypesFindFirstArgsSchema, + updateSchema: DataTypesUpdateArgsSchema, + updateManySchema: DataTypesUpdateManyArgsSchema, + upsertSchema: DataTypesUpsertArgsSchema, + deleteSchema: DataTypesDeleteArgsSchema, + deleteManySchema: DataTypesDeleteManyArgsSchema, + } as unknown as TableSchema< + z.infer, + Prisma.DataTypesCreateArgs['data'], + Prisma.DataTypesUpdateArgs['data'], + Prisma.DataTypesFindFirstArgs['select'], + Prisma.DataTypesFindFirstArgs['where'], + Prisma.DataTypesFindUniqueArgs['where'], + Omit, + Prisma.DataTypesFindFirstArgs['orderBy'], + Prisma.DataTypesScalarFieldEnum, + DataTypesGetPayload + >, + Dummy: { + fields: new Map([ + ['id', 'INT4'], + ['timestamp', 'TIMESTAMP'], + ]), + relations: [ + new Relation('datatype', '', '', 'DataTypes', 'DataTypesToDummy', 'many'), + ], + modelSchema: (DummyCreateInputSchema as any) + .partial() + .or((DummyUncheckedCreateInputSchema as any).partial()), + createSchema: DummyCreateArgsSchema, + createManySchema: DummyCreateManyArgsSchema, + findUniqueSchema: DummyFindUniqueArgsSchema, + findSchema: DummyFindFirstArgsSchema, + updateSchema: DummyUpdateArgsSchema, + updateManySchema: DummyUpdateManyArgsSchema, + upsertSchema: DummyUpsertArgsSchema, + deleteSchema: DummyDeleteArgsSchema, + deleteManySchema: DummyDeleteManyArgsSchema, + } as unknown as TableSchema< + z.infer, + Prisma.DummyCreateArgs['data'], + Prisma.DummyUpdateArgs['data'], + Prisma.DummyFindFirstArgs['select'], + Prisma.DummyFindFirstArgs['where'], + Prisma.DummyFindUniqueArgs['where'], + Omit, + Prisma.DummyFindFirstArgs['orderBy'], + Prisma.DummyScalarFieldEnum, + DummyGetPayload + >, +} + +export const schema = new DbSchema(tableSchemas, migrations) +export type Electric = ElectricClient +export const JsonNull = { __is_electric_json_null__: true } diff --git a/components/toolbar/test/generated/migrations.ts b/components/toolbar/test/generated/migrations.ts new file mode 100644 index 0000000000..4ad71d6e38 --- /dev/null +++ b/components/toolbar/test/generated/migrations.ts @@ -0,0 +1 @@ +export default [] \ No newline at end of file diff --git a/components/toolbar/test/generated/prismaClient.d.ts b/components/toolbar/test/generated/prismaClient.d.ts new file mode 100644 index 0000000000..b29ed565cf --- /dev/null +++ b/components/toolbar/test/generated/prismaClient.d.ts @@ -0,0 +1,10737 @@ + +/** + * Client +**/ + +import * as runtime from './runtime/index'; +declare const prisma: unique symbol +export type PrismaPromise = Promise & {[prisma]: true} +type UnwrapPromise

    = P extends Promise ? R : P +type UnwrapTuple = { + [K in keyof Tuple]: K extends `${number}` ? Tuple[K] extends PrismaPromise ? X : UnwrapPromise : UnwrapPromise +}; + + +/** + * Model Items + * + */ +export type Items = { + value: string + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + nbr: number | null +} + +/** + * Model User + * + */ +export type User = { + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + id: number + name: string | null + meta: string | null +} + +/** + * Model Post + * + */ +export type Post = { + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + id: number + title: string + contents: string + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + nbr: number | null + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + authorId: number +} + +/** + * Model Profile + * + */ +export type Profile = { + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + id: number + bio: string + meta: Prisma.JsonValue | null + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + userId: number + imageId: string | null +} + +/** + * Model ProfileImage + * + */ +export type ProfileImage = { + id: string + image: Buffer +} + +/** + * Model DataTypes + * + */ +export type DataTypes = { + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + id: number + date: Date | null + time: Date | null + timetz: Date | null + timestamp: Date | null + timestamptz: Date | null + bool: boolean | null + /** + * @zod.string.uuid() + */ + uuid: string | null + /** + * @zod.number.int().gte(-32768).lte(32767) + */ + int2: number | null + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + int4: number | null + int8: bigint | null + /** + * @zod.custom.use(z.number().or(z.nan())) + */ + float4: number | null + /** + * @zod.custom.use(z.number().or(z.nan())) + */ + float8: number | null + json: Prisma.JsonValue | null + bytea: Buffer | null + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + relatedId: number | null +} + +/** + * Model Dummy + * + */ +export type Dummy = { + /** + * @zod.number.int().gte(-2147483648).lte(2147483647) + */ + id: number + timestamp: Date | null +} + + +/** + * ## Prisma Client ʲˢ + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Items + * const items = await prisma.items.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ +export class PrismaClient< + T extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + U = 'log' extends keyof T ? T['log'] extends Array ? Prisma.GetEvents : never : never, + GlobalReject extends Prisma.RejectOnNotFound | Prisma.RejectPerOperation | false | undefined = 'rejectOnNotFound' extends keyof T + ? T['rejectOnNotFound'] + : false + > { + /** + * ## Prisma Client ʲˢ + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Items + * const items = await prisma.items.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ + + constructor(optionsArg ?: Prisma.Subset); + $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : V extends 'beforeExit' ? () => Promise : Prisma.LogEvent) => void): void; + + /** + * Connect with the database + */ + $connect(): Promise; + + /** + * Disconnect from the database + */ + $disconnect(): Promise; + + /** + * Add a middleware + */ + $use(cb: Prisma.Middleware): void + +/** + * 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://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): 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://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRawUnsafe(query: string, ...values: any[]): 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://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): 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://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRawUnsafe(query: string, ...values: any[]): PrismaPromise; + + /** + * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. + * @example + * ``` + * const [george, bob, alice] = await prisma.$transaction([ + * prisma.user.create({ data: { name: 'George' } }), + * prisma.user.create({ data: { name: 'Bob' } }), + * prisma.user.create({ data: { name: 'Alice' } }), + * ]) + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). + */ + $transaction

    []>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): Promise>; + + $transaction(fn: (prisma: Prisma.TransactionClient) => Promise, options?: {maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel}): Promise; + + /** + * `prisma.items`: Exposes CRUD operations for the **Items** model. + * Example usage: + * ```ts + * // Fetch zero or more Items + * const items = await prisma.items.findMany() + * ``` + */ + get items(): Prisma.ItemsDelegate; + + /** + * `prisma.user`: Exposes CRUD operations for the **User** model. + * Example usage: + * ```ts + * // Fetch zero or more Users + * const users = await prisma.user.findMany() + * ``` + */ + get user(): Prisma.UserDelegate; + + /** + * `prisma.post`: Exposes CRUD operations for the **Post** model. + * Example usage: + * ```ts + * // Fetch zero or more Posts + * const posts = await prisma.post.findMany() + * ``` + */ + get post(): Prisma.PostDelegate; + + /** + * `prisma.profile`: Exposes CRUD operations for the **Profile** model. + * Example usage: + * ```ts + * // Fetch zero or more Profiles + * const profiles = await prisma.profile.findMany() + * ``` + */ + get profile(): Prisma.ProfileDelegate; + + /** + * `prisma.profileImage`: Exposes CRUD operations for the **ProfileImage** model. + * Example usage: + * ```ts + * // Fetch zero or more ProfileImages + * const profileImages = await prisma.profileImage.findMany() + * ``` + */ + get profileImage(): Prisma.ProfileImageDelegate; + + /** + * `prisma.dataTypes`: Exposes CRUD operations for the **DataTypes** model. + * Example usage: + * ```ts + * // Fetch zero or more DataTypes + * const dataTypes = await prisma.dataTypes.findMany() + * ``` + */ + get dataTypes(): Prisma.DataTypesDelegate; + + /** + * `prisma.dummy`: Exposes CRUD operations for the **Dummy** model. + * Example usage: + * ```ts + * // Fetch zero or more Dummies + * const dummies = await prisma.dummy.findMany() + * ``` + */ + get dummy(): Prisma.DummyDelegate; +} + +export namespace Prisma { + export import DMMF = runtime.DMMF + + /** + * Prisma Errors + */ + export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError + export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError + export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError + export import PrismaClientInitializationError = runtime.PrismaClientInitializationError + export import PrismaClientValidationError = runtime.PrismaClientValidationError + export import NotFoundError = runtime.NotFoundError + + /** + * Re-export of sql-template-tag + */ + export import sql = runtime.sqltag + export import empty = runtime.empty + export import join = runtime.join + export import raw = runtime.raw + export import Sql = runtime.Sql + + /** + * Decimal.js + */ + export import Decimal = runtime.Decimal + + export type DecimalJsLike = runtime.DecimalJsLike + + /** + * Metrics + */ + export type Metrics = runtime.Metrics + export type Metric = runtime.Metric + export type MetricHistogram = runtime.MetricHistogram + export type MetricHistogramBucket = runtime.MetricHistogramBucket + + + /** + * Prisma Client JS version: 4.8.1 + * Query Engine version: d6e67a83f971b175a593ccc12e15c4a757f93ffe + */ + export type PrismaVersion = { + client: string + } + + export const prismaVersion: PrismaVersion + + /** + * Utility Types + */ + + /** + * From https://github.com/sindresorhus/type-fest/ + * Matches a JSON object. + * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. + */ + export type JsonObject = {[Key in string]?: JsonValue} + + /** + * From https://github.com/sindresorhus/type-fest/ + * Matches a JSON array. + */ + export interface JsonArray extends Array {} + + /** + * From https://github.com/sindresorhus/type-fest/ + * Matches any valid JSON value. + */ + export type JsonValue = string | number | boolean | JsonObject | JsonArray | null + + /** + * Matches a JSON object. + * Unlike `JsonObject`, this type allows undefined and read-only properties. + */ + export type InputJsonObject = {readonly [Key in string]?: InputJsonValue | null} + + /** + * Matches a JSON array. + * Unlike `JsonArray`, readonly arrays are assignable to this type. + */ + export interface InputJsonArray extends ReadonlyArray {} + + /** + * Matches any valid value that can be used as an input for operations like + * create and update as the value of a JSON field. Unlike `JsonValue`, this + * type allows read-only arrays and read-only object properties and disallows + * `null` at the top level. + * + * `null` cannot be used as the value of a JSON field because its meaning + * would be ambiguous. Use `Prisma.JsonNull` to store the JSON null value or + * `Prisma.DbNull` to clear the JSON value and set the field to the database + * NULL value instead. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values + */ +export type InputJsonValue = null | string | number | boolean | InputJsonObject | InputJsonArray + + /** + * Types of the values used to represent different kinds of `null` values when working with JSON fields. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + namespace NullTypes { + /** + * Type of `Prisma.DbNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class DbNull { + private DbNull: never + private constructor() + } + + /** + * Type of `Prisma.JsonNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class JsonNull { + private JsonNull: never + private constructor() + } + + /** + * Type of `Prisma.AnyNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class AnyNull { + private AnyNull: never + private constructor() + } + } + + /** + * 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: NullTypes.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: NullTypes.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: NullTypes.AnyNull + + type SelectAndInclude = { + select: any + include: any + } + type HasSelect = { + select: any + } + type HasInclude = { + include: any + } + type CheckSelect = T extends SelectAndInclude + ? 'Please either choose `select` or `include`' + : T extends HasSelect + ? U + : T extends HasInclude + ? U + : S + + /** + * Get the type of the value, that the Promise holds. + */ + export type PromiseType> = T extends PromiseLike ? U : T; + + /** + * Get the return type of a function which returns a Promise. + */ + export type PromiseReturnType Promise> = PromiseType> + + /** + * 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; + + export type RequiredKeys = { + [K in keyof T]-?: {} extends Prisma__Pick ? never : K + }[keyof T] + + export type TruthyKeys = keyof { + [K in keyof T as T[K] extends false | undefined | null ? never : K]: K + } + + export type TrueKeys = TruthyKeys>> + + /** + * 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`.' + : {}) + + /** + * 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 + */ + 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] + + type Either< + O extends object, + K extends Key, + strict extends Boolean = 1 + > = O extends unknown ? _Either : never + + export type Union = any + + 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 AtBasic = K extends keyof O ? O[K] : never; + 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 + 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 ? K : 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>>; + + /** + A [[Boolean]] + */ + export type Boolean = True | False + + // /** + // 1 + // */ + export type True = 1 + + /** + 0 + */ + 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 + + type Exact = + W extends unknown ? A extends Narrowable ? Cast : Cast< + {[K in keyof A]: K extends keyof W ? Exact : never}, + {[K in keyof W]: K extends keyof A ? Exact : W[K]}> + : never; + + type Narrowable = string | number | boolean | bigint; + + type Cast = A extends B ? A : B; + + export const type: unique symbol; + + export function validator(): (select: Exact) => S; + + /** + * Used by group by + */ + + 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 + + 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 + type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T + + /** + * Like `Pick`, but with an array + */ + type PickArray> = Prisma__Pick> + + /** + * Exclude all keys with underscores + */ + type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T + + + export type FieldRef = runtime.FieldRef + + type FieldRefInputType = Model extends never ? never : FieldRef + + class PrismaClientFetcher { + private readonly prisma; + private readonly debug; + private readonly hooks?; + constructor(prisma: PrismaClient, debug?: boolean, hooks?: Hooks | undefined); + request(document: any, dataPath?: string[], rootField?: string, typeName?: string, isList?: boolean, callsite?: string): Promise; + sanitizeMessage(message: string): string; + protected unpack(document: any, data: any, path: string[], rootField?: string, isList?: boolean): any; + } + + export const ModelName: { + Items: 'Items', + User: 'User', + Post: 'Post', + Profile: 'Profile', + ProfileImage: 'ProfileImage', + DataTypes: 'DataTypes', + Dummy: 'Dummy' + }; + + export type ModelName = (typeof ModelName)[keyof typeof ModelName] + + + export type Datasources = { + db?: Datasource + } + + export type DefaultPrismaClient = PrismaClient + export type RejectOnNotFound = boolean | ((error: Error) => Error) + export type RejectPerModel = { [P in ModelName]?: RejectOnNotFound } + export type RejectPerOperation = { [P in "findUnique" | "findFirst"]?: RejectPerModel | RejectOnNotFound } + type IsReject = T extends true ? True : T extends (err: Error) => Error ? True : False + export type HasReject< + GlobalRejectSettings extends Prisma.PrismaClientOptions['rejectOnNotFound'], + LocalRejectSettings, + Action extends PrismaAction, + Model extends ModelName + > = LocalRejectSettings extends RejectOnNotFound + ? IsReject + : GlobalRejectSettings extends RejectPerOperation + ? Action extends keyof GlobalRejectSettings + ? GlobalRejectSettings[Action] extends RejectOnNotFound + ? IsReject + : GlobalRejectSettings[Action] extends RejectPerModel + ? Model extends keyof GlobalRejectSettings[Action] + ? IsReject + : False + : False + : False + : IsReject + export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' + + export interface PrismaClientOptions { + /** + * Configure findUnique/findFirst to throw an error if the query returns null. + * @deprecated since 4.0.0. Use `findUniqueOrThrow`/`findFirstOrThrow` methods instead. + * @example + * ``` + * // Reject on both findUnique/findFirst + * rejectOnNotFound: true + * // Reject only on findFirst with a custom error + * rejectOnNotFound: { findFirst: (err) => new Error("Custom Error")} + * // Reject on user.findUnique with a custom error + * rejectOnNotFound: { findUnique: {User: (err) => new Error("User not found")}} + * ``` + */ + rejectOnNotFound?: RejectOnNotFound | RejectPerOperation + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasources?: Datasources + + /** + * @default "colorless" + */ + errorFormat?: ErrorFormat + + /** + * @example + * ``` + * // Defaults to stdout + * log: ['query', 'info', 'warn', 'error'] + * + * // Emit as events + * log: [ + * { emit: 'stdout', level: 'query' }, + * { emit: 'stdout', level: 'info' }, + * { emit: 'stdout', level: 'warn' } + * { emit: 'stdout', level: 'error' } + * ] + * ``` + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). + */ + log?: Array + } + + export type Hooks = { + beforeRequest?: (options: { query: string, path: string[], rootField?: string, typeName?: string, document: any }) => any + } + + /* Types for Logging */ + export type LogLevel = 'info' | 'query' | 'warn' | 'error' + export type LogDefinition = { + level: LogLevel + emit: 'stdout' | 'event' + } + + export type GetLogType = T extends LogDefinition ? T['emit'] extends 'event' ? T['level'] : never : never + export type GetEvents = T extends Array ? + GetLogType | GetLogType | GetLogType | 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' + | 'findMany' + | 'findFirst' + | 'create' + | 'createMany' + | 'update' + | 'updateMany' + | 'upsert' + | 'delete' + | 'deleteMany' + | 'executeRaw' + | 'queryRaw' + | 'aggregate' + | 'count' + | 'runCommandRaw' + | 'findRaw' + + /** + * These options are being passed into the middleware as "params" + */ + export type MiddlewareParams = { + model?: ModelName + action: PrismaAction + args: any + dataPath: string[] + runInTransaction: boolean + } + + /** + * The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation + */ + export type Middleware = ( + params: MiddlewareParams, + next: (params: MiddlewareParams) => Promise, + ) => Promise + + // tested in getLogLevel.test.ts + export function getLogLevel(log: Array): LogLevel | undefined; + + /** + * `PrismaClient` proxy available in interactive transactions. + */ + export type TransactionClient = Omit + + export type Datasource = { + url?: string + } + + /** + * Count Types + */ + + + /** + * Count Type UserCountOutputType + */ + + + export type UserCountOutputType = { + posts: number + } + + export type UserCountOutputTypeSelect = { + posts?: boolean + } + + export type UserCountOutputTypeGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? UserCountOutputType : + S extends undefined ? never : + S extends { include: any } & (UserCountOutputTypeArgs) + ? UserCountOutputType + : S extends { select: any } & (UserCountOutputTypeArgs) + ? { + [P in TruthyKeys]: + P extends keyof UserCountOutputType ? UserCountOutputType[P] : never + } + : UserCountOutputType + + + + + // Custom InputTypes + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeArgs = { + /** + * Select specific fields to fetch from the UserCountOutputType + * + **/ + select?: UserCountOutputTypeSelect | null + } + + + + /** + * Count Type DummyCountOutputType + */ + + + export type DummyCountOutputType = { + datatype: number + } + + export type DummyCountOutputTypeSelect = { + datatype?: boolean + } + + export type DummyCountOutputTypeGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? DummyCountOutputType : + S extends undefined ? never : + S extends { include: any } & (DummyCountOutputTypeArgs) + ? DummyCountOutputType + : S extends { select: any } & (DummyCountOutputTypeArgs) + ? { + [P in TruthyKeys]: + P extends keyof DummyCountOutputType ? DummyCountOutputType[P] : never + } + : DummyCountOutputType + + + + + // Custom InputTypes + + /** + * DummyCountOutputType without action + */ + export type DummyCountOutputTypeArgs = { + /** + * Select specific fields to fetch from the DummyCountOutputType + * + **/ + select?: DummyCountOutputTypeSelect | null + } + + + + /** + * Models + */ + + /** + * Model Items + */ + + + export type AggregateItems = { + _count: ItemsCountAggregateOutputType | null + _avg: ItemsAvgAggregateOutputType | null + _sum: ItemsSumAggregateOutputType | null + _min: ItemsMinAggregateOutputType | null + _max: ItemsMaxAggregateOutputType | null + } + + export type ItemsAvgAggregateOutputType = { + nbr: number | null + } + + export type ItemsSumAggregateOutputType = { + nbr: number | null + } + + export type ItemsMinAggregateOutputType = { + value: string | null + nbr: number | null + } + + export type ItemsMaxAggregateOutputType = { + value: string | null + nbr: number | null + } + + export type ItemsCountAggregateOutputType = { + value: number + nbr: number + _all: number + } + + + export type ItemsAvgAggregateInputType = { + nbr?: true + } + + export type ItemsSumAggregateInputType = { + nbr?: true + } + + export type ItemsMinAggregateInputType = { + value?: true + nbr?: true + } + + export type ItemsMaxAggregateInputType = { + value?: true + nbr?: true + } + + export type ItemsCountAggregateInputType = { + value?: true + nbr?: true + _all?: true + } + + export type ItemsAggregateArgs = { + /** + * Filter which Items to aggregate. + * + **/ + where?: ItemsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Items to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + * + **/ + cursor?: ItemsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Items from the position of the cursor. + * + **/ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Items. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Items + **/ + _count?: true | ItemsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ItemsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ItemsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ItemsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ItemsMaxAggregateInputType + } + + export type GetItemsAggregateType = { + [P in keyof T & keyof AggregateItems]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type ItemsGroupByArgs = { + where?: ItemsWhereInput + orderBy?: Enumerable + by: Array + having?: ItemsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ItemsCountAggregateInputType | true + _avg?: ItemsAvgAggregateInputType + _sum?: ItemsSumAggregateInputType + _min?: ItemsMinAggregateInputType + _max?: ItemsMaxAggregateInputType + } + + + export type ItemsGroupByOutputType = { + value: string + nbr: number | null + _count: ItemsCountAggregateOutputType | null + _avg: ItemsAvgAggregateOutputType | null + _sum: ItemsSumAggregateOutputType | null + _min: ItemsMinAggregateOutputType | null + _max: ItemsMaxAggregateOutputType | null + } + + type GetItemsGroupByPayload = PrismaPromise< + Array< + PickArray & + { + [P in ((keyof T) & (keyof ItemsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type ItemsSelect = { + value?: boolean + nbr?: boolean + } + + + export type ItemsGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? Items : + S extends undefined ? never : + S extends { include: any } & (ItemsArgs | ItemsFindManyArgs) + ? Items + : S extends { select: any } & (ItemsArgs | ItemsFindManyArgs) + ? { + [P in TruthyKeys]: + P extends keyof Items ? Items[P] : never + } + : Items + + + type ItemsCountArgs = Merge< + Omit & { + select?: ItemsCountAggregateInputType | true + } + > + + export interface ItemsDelegate { + /** + * Find zero or one Items that matches the filter. + * @param {ItemsFindUniqueArgs} args - Arguments to find a Items + * @example + * // Get one Items + * const items = await prisma.items.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUnique( + args: SelectSubset + ): HasReject extends True ? Prisma__ItemsClient> : Prisma__ItemsClient | null, null> + + /** + * Find one Items that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ItemsFindUniqueOrThrowArgs} args - Arguments to find a Items + * @example + * // Get one Items + * const items = await prisma.items.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUniqueOrThrow( + args?: SelectSubset + ): Prisma__ItemsClient> + + /** + * Find the first Items that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemsFindFirstArgs} args - Arguments to find a Items + * @example + * // Get one Items + * const items = await prisma.items.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirst( + args?: SelectSubset + ): HasReject extends True ? Prisma__ItemsClient> : Prisma__ItemsClient | null, null> + + /** + * Find the first Items that matches the filter or + * throw `NotFoundError` 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 {ItemsFindFirstOrThrowArgs} args - Arguments to find a Items + * @example + * // Get one Items + * const items = await prisma.items.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirstOrThrow( + args?: SelectSubset + ): Prisma__ItemsClient> + + /** + * Find zero or more Items that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemsFindManyArgs=} args - Arguments to filter and select certain fields only. + * @example + * // Get all Items + * const items = await prisma.items.findMany() + * + * // Get first 10 Items + * const items = await prisma.items.findMany({ take: 10 }) + * + * // Only select the `value` + * const itemsWithValueOnly = await prisma.items.findMany({ select: { value: true } }) + * + **/ + findMany( + args?: SelectSubset + ): PrismaPromise>> + + /** + * Create a Items. + * @param {ItemsCreateArgs} args - Arguments to create a Items. + * @example + * // Create one Items + * const Items = await prisma.items.create({ + * data: { + * // ... data to create a Items + * } + * }) + * + **/ + create( + args: SelectSubset + ): Prisma__ItemsClient> + + /** + * Create many Items. + * @param {ItemsCreateManyArgs} args - Arguments to create many Items. + * @example + * // Create many Items + * const items = await prisma.items.createMany({ + * data: { + * // ... provide data here + * } + * }) + * + **/ + createMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Delete a Items. + * @param {ItemsDeleteArgs} args - Arguments to delete one Items. + * @example + * // Delete one Items + * const Items = await prisma.items.delete({ + * where: { + * // ... filter to delete one Items + * } + * }) + * + **/ + delete( + args: SelectSubset + ): Prisma__ItemsClient> + + /** + * Update one Items. + * @param {ItemsUpdateArgs} args - Arguments to update one Items. + * @example + * // Update one Items + * const items = await prisma.items.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + update( + args: SelectSubset + ): Prisma__ItemsClient> + + /** + * Delete zero or more Items. + * @param {ItemsDeleteManyArgs} args - Arguments to filter Items to delete. + * @example + * // Delete a few Items + * const { count } = await prisma.items.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + **/ + deleteMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Update zero or more Items. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Items + * const items = await prisma.items.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + updateMany( + args: SelectSubset + ): PrismaPromise + + /** + * Create or update one Items. + * @param {ItemsUpsertArgs} args - Arguments to update or create a Items. + * @example + * // Update or create a Items + * const items = await prisma.items.upsert({ + * create: { + * // ... data to create a Items + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Items we want to update + * } + * }) + **/ + upsert( + args: SelectSubset + ): Prisma__ItemsClient> + + /** + * Count the number of Items. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemsCountArgs} args - Arguments to filter Items to count. + * @example + * // Count the number of Items + * const count = await prisma.items.count({ + * where: { + * // ... the filter for the Items we want to count + * } + * }) + **/ + count( + args?: Subset, + ): PrismaPromise< + T extends _Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Items. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemsAggregateArgs} 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: Subset): PrismaPromise> + + /** + * Group by Items. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemsGroupByArgs} 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 ItemsGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: ItemsGroupByArgs['orderBy'] } + : { orderBy?: ItemsGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends TupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetItemsGroupByPayload : PrismaPromise + + } + + /** + * The delegate class that acts as a "Promise-like" for Items. + * 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 class Prisma__ItemsClient implements PrismaPromise { + [prisma]: true; + private readonly _dmmf; + private readonly _fetcher; + private readonly _queryType; + private readonly _rootField; + private readonly _clientMethod; + private readonly _args; + private readonly _dataPath; + private readonly _errorFormat; + private readonly _measurePerformance?; + private _isList; + private _callsite; + private _requestPromise?; + constructor(_dmmf: runtime.DMMFClass, _fetcher: PrismaClientFetcher, _queryType: 'query' | 'mutation', _rootField: string, _clientMethod: string, _args: any, _dataPath: string[], _errorFormat: ErrorFormat, _measurePerformance?: boolean | undefined, _isList?: boolean); + readonly [Symbol.toStringTag]: 'PrismaClientPromise'; + + + private get _document(); + /** + * 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): Promise; + /** + * 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): Promise; + /** + * 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): Promise; + } + + + + // Custom InputTypes + + /** + * Items base type for findUnique actions + */ + export type ItemsFindUniqueArgsBase = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * Filter, which Items to fetch. + * + **/ + where: ItemsWhereUniqueInput + } + + /** + * Items findUnique + */ + export interface ItemsFindUniqueArgs extends ItemsFindUniqueArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findUniqueOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * Items findUniqueOrThrow + */ + export type ItemsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * Filter, which Items to fetch. + * + **/ + where: ItemsWhereUniqueInput + } + + + /** + * Items base type for findFirst actions + */ + export type ItemsFindFirstArgsBase = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * Filter, which Items to fetch. + * + **/ + where?: ItemsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Items to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Items. + * + **/ + cursor?: ItemsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Items from the position of the cursor. + * + **/ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Items. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Items. + * + **/ + distinct?: Enumerable + } + + /** + * Items findFirst + */ + export interface ItemsFindFirstArgs extends ItemsFindFirstArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findFirstOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * Items findFirstOrThrow + */ + export type ItemsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * Filter, which Items to fetch. + * + **/ + where?: ItemsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Items to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Items. + * + **/ + cursor?: ItemsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Items from the position of the cursor. + * + **/ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Items. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Items. + * + **/ + distinct?: Enumerable + } + + + /** + * Items findMany + */ + export type ItemsFindManyArgs = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * Filter, which Items to fetch. + * + **/ + where?: ItemsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Items to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Items. + * + **/ + cursor?: ItemsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Items from the position of the cursor. + * + **/ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Items. + * + **/ + skip?: number + distinct?: Enumerable + } + + + /** + * Items create + */ + export type ItemsCreateArgs = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * The data needed to create a Items. + * + **/ + data: XOR + } + + + /** + * Items createMany + */ + export type ItemsCreateManyArgs = { + /** + * The data used to create many Items. + * + **/ + data: Enumerable + skipDuplicates?: boolean + } + + + /** + * Items update + */ + export type ItemsUpdateArgs = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * The data needed to update a Items. + * + **/ + data: XOR + /** + * Choose, which Items to update. + * + **/ + where: ItemsWhereUniqueInput + } + + + /** + * Items updateMany + */ + export type ItemsUpdateManyArgs = { + /** + * The data used to update Items. + * + **/ + data: XOR + /** + * Filter which Items to update + * + **/ + where?: ItemsWhereInput + } + + + /** + * Items upsert + */ + export type ItemsUpsertArgs = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * The filter to search for the Items to update in case it exists. + * + **/ + where: ItemsWhereUniqueInput + /** + * In case the Items found by the `where` argument doesn't exist, create a new Items with this data. + * + **/ + create: XOR + /** + * In case the Items was found with the provided `where` argument, update it with this data. + * + **/ + update: XOR + } + + + /** + * Items delete + */ + export type ItemsDeleteArgs = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + /** + * Filter which Items to delete. + * + **/ + where: ItemsWhereUniqueInput + } + + + /** + * Items deleteMany + */ + export type ItemsDeleteManyArgs = { + /** + * Filter which Items to delete + * + **/ + where?: ItemsWhereInput + } + + + /** + * Items without action + */ + export type ItemsArgs = { + /** + * Select specific fields to fetch from the Items + * + **/ + select?: ItemsSelect | null + } + + + + /** + * Model User + */ + + + export type AggregateUser = { + _count: UserCountAggregateOutputType | null + _avg: UserAvgAggregateOutputType | null + _sum: UserSumAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null + } + + export type UserAvgAggregateOutputType = { + id: number | null + } + + export type UserSumAggregateOutputType = { + id: number | null + } + + export type UserMinAggregateOutputType = { + id: number | null + name: string | null + meta: string | null + } + + export type UserMaxAggregateOutputType = { + id: number | null + name: string | null + meta: string | null + } + + export type UserCountAggregateOutputType = { + id: number + name: number + meta: number + _all: number + } + + + export type UserAvgAggregateInputType = { + id?: true + } + + export type UserSumAggregateInputType = { + id?: true + } + + export type UserMinAggregateInputType = { + id?: true + name?: true + meta?: true + } + + export type UserMaxAggregateInputType = { + id?: true + name?: true + meta?: true + } + + export type UserCountAggregateInputType = { + id?: true + name?: true + meta?: true + _all?: true + } + + export type UserAggregateArgs = { + /** + * Filter which User to aggregate. + * + **/ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + * + **/ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + * + **/ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Users + **/ + _count?: true | UserCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: UserAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: UserSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UserMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UserMaxAggregateInputType + } + + export type GetUserAggregateType = { + [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type UserGroupByArgs = { + where?: UserWhereInput + orderBy?: Enumerable + by: Array + having?: UserScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserCountAggregateInputType | true + _avg?: UserAvgAggregateInputType + _sum?: UserSumAggregateInputType + _min?: UserMinAggregateInputType + _max?: UserMaxAggregateInputType + } + + + export type UserGroupByOutputType = { + id: number + name: string | null + meta: string | null + _count: UserCountAggregateOutputType | null + _avg: UserAvgAggregateOutputType | null + _sum: UserSumAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null + } + + type GetUserGroupByPayload = PrismaPromise< + Array< + PickArray & + { + [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type UserSelect = { + id?: boolean + name?: boolean + meta?: boolean + posts?: boolean | User$postsArgs + profile?: boolean | ProfileArgs + _count?: boolean | UserCountOutputTypeArgs + } + + + export type UserInclude = { + posts?: boolean | User$postsArgs + profile?: boolean | ProfileArgs + _count?: boolean | UserCountOutputTypeArgs + } + + export type UserGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? User : + S extends undefined ? never : + S extends { include: any } & (UserArgs | UserFindManyArgs) + ? User & { + [P in TruthyKeys]: + P extends 'posts' ? Array < PostGetPayload> : + P extends 'profile' ? ProfileGetPayload | null : + P extends '_count' ? UserCountOutputTypeGetPayload : never + } + : S extends { select: any } & (UserArgs | UserFindManyArgs) + ? { + [P in TruthyKeys]: + P extends 'posts' ? Array < PostGetPayload> : + P extends 'profile' ? ProfileGetPayload | null : + P extends '_count' ? UserCountOutputTypeGetPayload : P extends keyof User ? User[P] : never + } + : User + + + type UserCountArgs = Merge< + Omit & { + select?: UserCountAggregateInputType | true + } + > + + export interface UserDelegate { + /** + * Find zero or one User that matches the filter. + * @param {UserFindUniqueArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUnique( + args: SelectSubset + ): HasReject extends True ? Prisma__UserClient> : Prisma__UserClient | null, null> + + /** + * Find one User that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUniqueOrThrow( + args?: SelectSubset + ): Prisma__UserClient> + + /** + * Find the first User that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindFirstArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirst( + args?: SelectSubset + ): HasReject extends True ? Prisma__UserClient> : Prisma__UserClient | null, null> + + /** + * Find the first User that matches the filter or + * throw `NotFoundError` if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindFirstOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirstOrThrow( + args?: SelectSubset + ): Prisma__UserClient> + + /** + * Find zero or more Users that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindManyArgs=} args - Arguments to filter and select certain fields only. + * @example + * // Get all Users + * const users = await prisma.user.findMany() + * + * // Get first 10 Users + * const users = await prisma.user.findMany({ take: 10 }) + * + * // Only select the `id` + * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) + * + **/ + findMany( + args?: SelectSubset + ): PrismaPromise>> + + /** + * Create a User. + * @param {UserCreateArgs} args - Arguments to create a User. + * @example + * // Create one User + * const User = await prisma.user.create({ + * data: { + * // ... data to create a User + * } + * }) + * + **/ + create( + args: SelectSubset + ): Prisma__UserClient> + + /** + * Create many Users. + * @param {UserCreateManyArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createMany({ + * data: { + * // ... provide data here + * } + * }) + * + **/ + createMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Delete a User. + * @param {UserDeleteArgs} args - Arguments to delete one User. + * @example + * // Delete one User + * const User = await prisma.user.delete({ + * where: { + * // ... filter to delete one User + * } + * }) + * + **/ + delete( + args: SelectSubset + ): Prisma__UserClient> + + /** + * Update one User. + * @param {UserUpdateArgs} args - Arguments to update one User. + * @example + * // Update one User + * const user = await prisma.user.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + update( + args: SelectSubset + ): Prisma__UserClient> + + /** + * Delete zero or more Users. + * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. + * @example + * // Delete a few Users + * const { count } = await prisma.user.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + **/ + deleteMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Update zero or more Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Users + * const user = await prisma.user.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + updateMany( + args: SelectSubset + ): PrismaPromise + + /** + * Create or update one User. + * @param {UserUpsertArgs} args - Arguments to update or create a User. + * @example + * // Update or create a User + * const user = await prisma.user.upsert({ + * create: { + * // ... data to create a User + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the User we want to update + * } + * }) + **/ + upsert( + args: SelectSubset + ): Prisma__UserClient> + + /** + * Count the number of Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserCountArgs} args - Arguments to filter Users to count. + * @example + * // Count the number of Users + * const count = await prisma.user.count({ + * where: { + * // ... the filter for the Users we want to count + * } + * }) + **/ + count( + args?: Subset, + ): PrismaPromise< + T extends _Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): PrismaPromise> + + /** + * Group by User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends UserGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: UserGroupByArgs['orderBy'] } + : { orderBy?: UserGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends TupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserGroupByPayload : PrismaPromise + + } + + /** + * The delegate class that acts as a "Promise-like" for User. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export class Prisma__UserClient implements PrismaPromise { + [prisma]: true; + private readonly _dmmf; + private readonly _fetcher; + private readonly _queryType; + private readonly _rootField; + private readonly _clientMethod; + private readonly _args; + private readonly _dataPath; + private readonly _errorFormat; + private readonly _measurePerformance?; + private _isList; + private _callsite; + private _requestPromise?; + constructor(_dmmf: runtime.DMMFClass, _fetcher: PrismaClientFetcher, _queryType: 'query' | 'mutation', _rootField: string, _clientMethod: string, _args: any, _dataPath: string[], _errorFormat: ErrorFormat, _measurePerformance?: boolean | undefined, _isList?: boolean); + readonly [Symbol.toStringTag]: 'PrismaClientPromise'; + + posts(args?: Subset): PrismaPromise>| Null>; + + profile(args?: Subset): Prisma__ProfileClient | Null>; + + private get _document(); + /** + * 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): Promise; + /** + * 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): Promise; + /** + * 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): Promise; + } + + + + // Custom InputTypes + + /** + * User base type for findUnique actions + */ + export type UserFindUniqueArgsBase = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * Filter, which User to fetch. + * + **/ + where: UserWhereUniqueInput + } + + /** + * User findUnique + */ + export interface UserFindUniqueArgs extends UserFindUniqueArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findUniqueOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * User findUniqueOrThrow + */ + export type UserFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * Filter, which User to fetch. + * + **/ + where: UserWhereUniqueInput + } + + + /** + * User base type for findFirst actions + */ + export type UserFindFirstArgsBase = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * Filter, which User to fetch. + * + **/ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Users. + * + **/ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + * + **/ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + * + **/ + distinct?: Enumerable + } + + /** + * User findFirst + */ + export interface UserFindFirstArgs extends UserFindFirstArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findFirstOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * User findFirstOrThrow + */ + export type UserFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * Filter, which User to fetch. + * + **/ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Users. + * + **/ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + * + **/ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + * + **/ + distinct?: Enumerable + } + + + /** + * User findMany + */ + export type UserFindManyArgs = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * Filter, which Users to fetch. + * + **/ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Users. + * + **/ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + * + **/ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + * + **/ + skip?: number + distinct?: Enumerable + } + + + /** + * User create + */ + export type UserCreateArgs = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * The data needed to create a User. + * + **/ + data: XOR + } + + + /** + * User createMany + */ + export type UserCreateManyArgs = { + /** + * The data used to create many Users. + * + **/ + data: Enumerable + skipDuplicates?: boolean + } + + + /** + * User update + */ + export type UserUpdateArgs = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * The data needed to update a User. + * + **/ + data: XOR + /** + * Choose, which User to update. + * + **/ + where: UserWhereUniqueInput + } + + + /** + * User updateMany + */ + export type UserUpdateManyArgs = { + /** + * The data used to update Users. + * + **/ + data: XOR + /** + * Filter which Users to update + * + **/ + where?: UserWhereInput + } + + + /** + * User upsert + */ + export type UserUpsertArgs = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * The filter to search for the User to update in case it exists. + * + **/ + where: UserWhereUniqueInput + /** + * In case the User found by the `where` argument doesn't exist, create a new User with this data. + * + **/ + create: XOR + /** + * In case the User was found with the provided `where` argument, update it with this data. + * + **/ + update: XOR + } + + + /** + * User delete + */ + export type UserDeleteArgs = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + /** + * Filter which User to delete. + * + **/ + where: UserWhereUniqueInput + } + + + /** + * User deleteMany + */ + export type UserDeleteManyArgs = { + /** + * Filter which Users to delete + * + **/ + where?: UserWhereInput + } + + + /** + * User.posts + */ + export type User$postsArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + where?: PostWhereInput + orderBy?: Enumerable + cursor?: PostWhereUniqueInput + take?: number + skip?: number + distinct?: Enumerable + } + + + /** + * User without action + */ + export type UserArgs = { + /** + * Select specific fields to fetch from the User + * + **/ + select?: UserSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: UserInclude | null + } + + + + /** + * Model Post + */ + + + export type AggregatePost = { + _count: PostCountAggregateOutputType | null + _avg: PostAvgAggregateOutputType | null + _sum: PostSumAggregateOutputType | null + _min: PostMinAggregateOutputType | null + _max: PostMaxAggregateOutputType | null + } + + export type PostAvgAggregateOutputType = { + id: number | null + nbr: number | null + authorId: number | null + } + + export type PostSumAggregateOutputType = { + id: number | null + nbr: number | null + authorId: number | null + } + + export type PostMinAggregateOutputType = { + id: number | null + title: string | null + contents: string | null + nbr: number | null + authorId: number | null + } + + export type PostMaxAggregateOutputType = { + id: number | null + title: string | null + contents: string | null + nbr: number | null + authorId: number | null + } + + export type PostCountAggregateOutputType = { + id: number + title: number + contents: number + nbr: number + authorId: number + _all: number + } + + + export type PostAvgAggregateInputType = { + id?: true + nbr?: true + authorId?: true + } + + export type PostSumAggregateInputType = { + id?: true + nbr?: true + authorId?: true + } + + export type PostMinAggregateInputType = { + id?: true + title?: true + contents?: true + nbr?: true + authorId?: true + } + + export type PostMaxAggregateInputType = { + id?: true + title?: true + contents?: true + nbr?: true + authorId?: true + } + + export type PostCountAggregateInputType = { + id?: true + title?: true + contents?: true + nbr?: true + authorId?: true + _all?: true + } + + export type PostAggregateArgs = { + /** + * Filter which Post to aggregate. + * + **/ + where?: PostWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Posts to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + * + **/ + cursor?: PostWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Posts 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` Posts. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Posts + **/ + _count?: true | PostCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: PostAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: PostSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PostMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PostMaxAggregateInputType + } + + export type GetPostAggregateType = { + [P in keyof T & keyof AggregatePost]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type PostGroupByArgs = { + where?: PostWhereInput + orderBy?: Enumerable + by: Array + having?: PostScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PostCountAggregateInputType | true + _avg?: PostAvgAggregateInputType + _sum?: PostSumAggregateInputType + _min?: PostMinAggregateInputType + _max?: PostMaxAggregateInputType + } + + + export type PostGroupByOutputType = { + id: number + title: string + contents: string + nbr: number | null + authorId: number + _count: PostCountAggregateOutputType | null + _avg: PostAvgAggregateOutputType | null + _sum: PostSumAggregateOutputType | null + _min: PostMinAggregateOutputType | null + _max: PostMaxAggregateOutputType | null + } + + type GetPostGroupByPayload = PrismaPromise< + Array< + PickArray & + { + [P in ((keyof T) & (keyof PostGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type PostSelect = { + id?: boolean + title?: boolean + contents?: boolean + nbr?: boolean + authorId?: boolean + author?: boolean | UserArgs + } + + + export type PostInclude = { + author?: boolean | UserArgs + } + + export type PostGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? Post : + S extends undefined ? never : + S extends { include: any } & (PostArgs | PostFindManyArgs) + ? Post & { + [P in TruthyKeys]: + P extends 'author' ? UserGetPayload | null : never + } + : S extends { select: any } & (PostArgs | PostFindManyArgs) + ? { + [P in TruthyKeys]: + P extends 'author' ? UserGetPayload | null : P extends keyof Post ? Post[P] : never + } + : Post + + + type PostCountArgs = Merge< + Omit & { + select?: PostCountAggregateInputType | true + } + > + + export interface PostDelegate { + /** + * Find zero or one Post that matches the filter. + * @param {PostFindUniqueArgs} args - Arguments to find a Post + * @example + * // Get one Post + * const post = await prisma.post.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUnique( + args: SelectSubset + ): HasReject extends True ? Prisma__PostClient> : Prisma__PostClient | null, null> + + /** + * Find one Post that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {PostFindUniqueOrThrowArgs} args - Arguments to find a Post + * @example + * // Get one Post + * const post = await prisma.post.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUniqueOrThrow( + args?: SelectSubset + ): Prisma__PostClient> + + /** + * Find the first Post 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 {PostFindFirstArgs} args - Arguments to find a Post + * @example + * // Get one Post + * const post = await prisma.post.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirst( + args?: SelectSubset + ): HasReject extends True ? Prisma__PostClient> : Prisma__PostClient | null, null> + + /** + * Find the first Post that matches the filter or + * throw `NotFoundError` 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 {PostFindFirstOrThrowArgs} args - Arguments to find a Post + * @example + * // Get one Post + * const post = await prisma.post.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirstOrThrow( + args?: SelectSubset + ): Prisma__PostClient> + + /** + * Find zero or more Posts 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 {PostFindManyArgs=} args - Arguments to filter and select certain fields only. + * @example + * // Get all Posts + * const posts = await prisma.post.findMany() + * + * // Get first 10 Posts + * const posts = await prisma.post.findMany({ take: 10 }) + * + * // Only select the `id` + * const postWithIdOnly = await prisma.post.findMany({ select: { id: true } }) + * + **/ + findMany( + args?: SelectSubset + ): PrismaPromise>> + + /** + * Create a Post. + * @param {PostCreateArgs} args - Arguments to create a Post. + * @example + * // Create one Post + * const Post = await prisma.post.create({ + * data: { + * // ... data to create a Post + * } + * }) + * + **/ + create( + args: SelectSubset + ): Prisma__PostClient> + + /** + * Create many Posts. + * @param {PostCreateManyArgs} args - Arguments to create many Posts. + * @example + * // Create many Posts + * const post = await prisma.post.createMany({ + * data: { + * // ... provide data here + * } + * }) + * + **/ + createMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Delete a Post. + * @param {PostDeleteArgs} args - Arguments to delete one Post. + * @example + * // Delete one Post + * const Post = await prisma.post.delete({ + * where: { + * // ... filter to delete one Post + * } + * }) + * + **/ + delete( + args: SelectSubset + ): Prisma__PostClient> + + /** + * Update one Post. + * @param {PostUpdateArgs} args - Arguments to update one Post. + * @example + * // Update one Post + * const post = await prisma.post.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + update( + args: SelectSubset + ): Prisma__PostClient> + + /** + * Delete zero or more Posts. + * @param {PostDeleteManyArgs} args - Arguments to filter Posts to delete. + * @example + * // Delete a few Posts + * const { count } = await prisma.post.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + **/ + deleteMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Update zero or more Posts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PostUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Posts + * const post = await prisma.post.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + updateMany( + args: SelectSubset + ): PrismaPromise + + /** + * Create or update one Post. + * @param {PostUpsertArgs} args - Arguments to update or create a Post. + * @example + * // Update or create a Post + * const post = await prisma.post.upsert({ + * create: { + * // ... data to create a Post + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Post we want to update + * } + * }) + **/ + upsert( + args: SelectSubset + ): Prisma__PostClient> + + /** + * Count the number of Posts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PostCountArgs} args - Arguments to filter Posts to count. + * @example + * // Count the number of Posts + * const count = await prisma.post.count({ + * where: { + * // ... the filter for the Posts we want to count + * } + * }) + **/ + count( + args?: Subset, + ): PrismaPromise< + T extends _Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Post. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PostAggregateArgs} 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: Subset): PrismaPromise> + + /** + * Group by Post. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PostGroupByArgs} 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 PostGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: PostGroupByArgs['orderBy'] } + : { orderBy?: PostGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends TupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPostGroupByPayload : PrismaPromise + + } + + /** + * The delegate class that acts as a "Promise-like" for Post. + * 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 class Prisma__PostClient implements PrismaPromise { + [prisma]: true; + private readonly _dmmf; + private readonly _fetcher; + private readonly _queryType; + private readonly _rootField; + private readonly _clientMethod; + private readonly _args; + private readonly _dataPath; + private readonly _errorFormat; + private readonly _measurePerformance?; + private _isList; + private _callsite; + private _requestPromise?; + constructor(_dmmf: runtime.DMMFClass, _fetcher: PrismaClientFetcher, _queryType: 'query' | 'mutation', _rootField: string, _clientMethod: string, _args: any, _dataPath: string[], _errorFormat: ErrorFormat, _measurePerformance?: boolean | undefined, _isList?: boolean); + readonly [Symbol.toStringTag]: 'PrismaClientPromise'; + + author(args?: Subset): Prisma__UserClient | Null>; + + private get _document(); + /** + * 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): Promise; + /** + * 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): Promise; + /** + * 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): Promise; + } + + + + // Custom InputTypes + + /** + * Post base type for findUnique actions + */ + export type PostFindUniqueArgsBase = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * Filter, which Post to fetch. + * + **/ + where: PostWhereUniqueInput + } + + /** + * Post findUnique + */ + export interface PostFindUniqueArgs extends PostFindUniqueArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findUniqueOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * Post findUniqueOrThrow + */ + export type PostFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * Filter, which Post to fetch. + * + **/ + where: PostWhereUniqueInput + } + + + /** + * Post base type for findFirst actions + */ + export type PostFindFirstArgsBase = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * Filter, which Post to fetch. + * + **/ + where?: PostWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Posts to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Posts. + * + **/ + cursor?: PostWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Posts 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` Posts. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Posts. + * + **/ + distinct?: Enumerable + } + + /** + * Post findFirst + */ + export interface PostFindFirstArgs extends PostFindFirstArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findFirstOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * Post findFirstOrThrow + */ + export type PostFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * Filter, which Post to fetch. + * + **/ + where?: PostWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Posts to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Posts. + * + **/ + cursor?: PostWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Posts 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` Posts. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Posts. + * + **/ + distinct?: Enumerable + } + + + /** + * Post findMany + */ + export type PostFindManyArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * Filter, which Posts to fetch. + * + **/ + where?: PostWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Posts to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Posts. + * + **/ + cursor?: PostWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Posts 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` Posts. + * + **/ + skip?: number + distinct?: Enumerable + } + + + /** + * Post create + */ + export type PostCreateArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * The data needed to create a Post. + * + **/ + data: XOR + } + + + /** + * Post createMany + */ + export type PostCreateManyArgs = { + /** + * The data used to create many Posts. + * + **/ + data: Enumerable + skipDuplicates?: boolean + } + + + /** + * Post update + */ + export type PostUpdateArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * The data needed to update a Post. + * + **/ + data: XOR + /** + * Choose, which Post to update. + * + **/ + where: PostWhereUniqueInput + } + + + /** + * Post updateMany + */ + export type PostUpdateManyArgs = { + /** + * The data used to update Posts. + * + **/ + data: XOR + /** + * Filter which Posts to update + * + **/ + where?: PostWhereInput + } + + + /** + * Post upsert + */ + export type PostUpsertArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * The filter to search for the Post to update in case it exists. + * + **/ + where: PostWhereUniqueInput + /** + * In case the Post found by the `where` argument doesn't exist, create a new Post with this data. + * + **/ + create: XOR + /** + * In case the Post was found with the provided `where` argument, update it with this data. + * + **/ + update: XOR + } + + + /** + * Post delete + */ + export type PostDeleteArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + /** + * Filter which Post to delete. + * + **/ + where: PostWhereUniqueInput + } + + + /** + * Post deleteMany + */ + export type PostDeleteManyArgs = { + /** + * Filter which Posts to delete + * + **/ + where?: PostWhereInput + } + + + /** + * Post without action + */ + export type PostArgs = { + /** + * Select specific fields to fetch from the Post + * + **/ + select?: PostSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: PostInclude | null + } + + + + /** + * Model Profile + */ + + + export type AggregateProfile = { + _count: ProfileCountAggregateOutputType | null + _avg: ProfileAvgAggregateOutputType | null + _sum: ProfileSumAggregateOutputType | null + _min: ProfileMinAggregateOutputType | null + _max: ProfileMaxAggregateOutputType | null + } + + export type ProfileAvgAggregateOutputType = { + id: number | null + userId: number | null + } + + export type ProfileSumAggregateOutputType = { + id: number | null + userId: number | null + } + + export type ProfileMinAggregateOutputType = { + id: number | null + bio: string | null + userId: number | null + imageId: string | null + } + + export type ProfileMaxAggregateOutputType = { + id: number | null + bio: string | null + userId: number | null + imageId: string | null + } + + export type ProfileCountAggregateOutputType = { + id: number + bio: number + meta: number + userId: number + imageId: number + _all: number + } + + + export type ProfileAvgAggregateInputType = { + id?: true + userId?: true + } + + export type ProfileSumAggregateInputType = { + id?: true + userId?: true + } + + export type ProfileMinAggregateInputType = { + id?: true + bio?: true + userId?: true + imageId?: true + } + + export type ProfileMaxAggregateInputType = { + id?: true + bio?: true + userId?: true + imageId?: true + } + + export type ProfileCountAggregateInputType = { + id?: true + bio?: true + meta?: true + userId?: true + imageId?: true + _all?: true + } + + export type ProfileAggregateArgs = { + /** + * Filter which Profile to aggregate. + * + **/ + where?: ProfileWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Profiles to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + * + **/ + cursor?: ProfileWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Profiles 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` Profiles. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Profiles + **/ + _count?: true | ProfileCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ProfileAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ProfileSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ProfileMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ProfileMaxAggregateInputType + } + + export type GetProfileAggregateType = { + [P in keyof T & keyof AggregateProfile]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type ProfileGroupByArgs = { + where?: ProfileWhereInput + orderBy?: Enumerable + by: Array + having?: ProfileScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ProfileCountAggregateInputType | true + _avg?: ProfileAvgAggregateInputType + _sum?: ProfileSumAggregateInputType + _min?: ProfileMinAggregateInputType + _max?: ProfileMaxAggregateInputType + } + + + export type ProfileGroupByOutputType = { + id: number + bio: string + meta: JsonValue | null + userId: number + imageId: string | null + _count: ProfileCountAggregateOutputType | null + _avg: ProfileAvgAggregateOutputType | null + _sum: ProfileSumAggregateOutputType | null + _min: ProfileMinAggregateOutputType | null + _max: ProfileMaxAggregateOutputType | null + } + + type GetProfileGroupByPayload = PrismaPromise< + Array< + PickArray & + { + [P in ((keyof T) & (keyof ProfileGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type ProfileSelect = { + id?: boolean + bio?: boolean + meta?: boolean + userId?: boolean + user?: boolean | UserArgs + imageId?: boolean + image?: boolean | ProfileImageArgs + } + + + export type ProfileInclude = { + user?: boolean | UserArgs + image?: boolean | ProfileImageArgs + } + + export type ProfileGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? Profile : + S extends undefined ? never : + S extends { include: any } & (ProfileArgs | ProfileFindManyArgs) + ? Profile & { + [P in TruthyKeys]: + P extends 'user' ? UserGetPayload | null : + P extends 'image' ? ProfileImageGetPayload | null : never + } + : S extends { select: any } & (ProfileArgs | ProfileFindManyArgs) + ? { + [P in TruthyKeys]: + P extends 'user' ? UserGetPayload | null : + P extends 'image' ? ProfileImageGetPayload | null : P extends keyof Profile ? Profile[P] : never + } + : Profile + + + type ProfileCountArgs = Merge< + Omit & { + select?: ProfileCountAggregateInputType | true + } + > + + export interface ProfileDelegate { + /** + * Find zero or one Profile that matches the filter. + * @param {ProfileFindUniqueArgs} args - Arguments to find a Profile + * @example + * // Get one Profile + * const profile = await prisma.profile.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUnique( + args: SelectSubset + ): HasReject extends True ? Prisma__ProfileClient> : Prisma__ProfileClient | null, null> + + /** + * Find one Profile that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ProfileFindUniqueOrThrowArgs} args - Arguments to find a Profile + * @example + * // Get one Profile + * const profile = await prisma.profile.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUniqueOrThrow( + args?: SelectSubset + ): Prisma__ProfileClient> + + /** + * Find the first Profile 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 {ProfileFindFirstArgs} args - Arguments to find a Profile + * @example + * // Get one Profile + * const profile = await prisma.profile.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirst( + args?: SelectSubset + ): HasReject extends True ? Prisma__ProfileClient> : Prisma__ProfileClient | null, null> + + /** + * Find the first Profile that matches the filter or + * throw `NotFoundError` 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 {ProfileFindFirstOrThrowArgs} args - Arguments to find a Profile + * @example + * // Get one Profile + * const profile = await prisma.profile.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirstOrThrow( + args?: SelectSubset + ): Prisma__ProfileClient> + + /** + * Find zero or more Profiles 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 {ProfileFindManyArgs=} args - Arguments to filter and select certain fields only. + * @example + * // Get all Profiles + * const profiles = await prisma.profile.findMany() + * + * // Get first 10 Profiles + * const profiles = await prisma.profile.findMany({ take: 10 }) + * + * // Only select the `id` + * const profileWithIdOnly = await prisma.profile.findMany({ select: { id: true } }) + * + **/ + findMany( + args?: SelectSubset + ): PrismaPromise>> + + /** + * Create a Profile. + * @param {ProfileCreateArgs} args - Arguments to create a Profile. + * @example + * // Create one Profile + * const Profile = await prisma.profile.create({ + * data: { + * // ... data to create a Profile + * } + * }) + * + **/ + create( + args: SelectSubset + ): Prisma__ProfileClient> + + /** + * Create many Profiles. + * @param {ProfileCreateManyArgs} args - Arguments to create many Profiles. + * @example + * // Create many Profiles + * const profile = await prisma.profile.createMany({ + * data: { + * // ... provide data here + * } + * }) + * + **/ + createMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Delete a Profile. + * @param {ProfileDeleteArgs} args - Arguments to delete one Profile. + * @example + * // Delete one Profile + * const Profile = await prisma.profile.delete({ + * where: { + * // ... filter to delete one Profile + * } + * }) + * + **/ + delete( + args: SelectSubset + ): Prisma__ProfileClient> + + /** + * Update one Profile. + * @param {ProfileUpdateArgs} args - Arguments to update one Profile. + * @example + * // Update one Profile + * const profile = await prisma.profile.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + update( + args: SelectSubset + ): Prisma__ProfileClient> + + /** + * Delete zero or more Profiles. + * @param {ProfileDeleteManyArgs} args - Arguments to filter Profiles to delete. + * @example + * // Delete a few Profiles + * const { count } = await prisma.profile.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + **/ + deleteMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Update zero or more Profiles. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfileUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Profiles + * const profile = await prisma.profile.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + updateMany( + args: SelectSubset + ): PrismaPromise + + /** + * Create or update one Profile. + * @param {ProfileUpsertArgs} args - Arguments to update or create a Profile. + * @example + * // Update or create a Profile + * const profile = await prisma.profile.upsert({ + * create: { + * // ... data to create a Profile + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Profile we want to update + * } + * }) + **/ + upsert( + args: SelectSubset + ): Prisma__ProfileClient> + + /** + * Count the number of Profiles. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfileCountArgs} args - Arguments to filter Profiles to count. + * @example + * // Count the number of Profiles + * const count = await prisma.profile.count({ + * where: { + * // ... the filter for the Profiles we want to count + * } + * }) + **/ + count( + args?: Subset, + ): PrismaPromise< + T extends _Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Profile. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfileAggregateArgs} 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: Subset): PrismaPromise> + + /** + * Group by Profile. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfileGroupByArgs} 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 ProfileGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: ProfileGroupByArgs['orderBy'] } + : { orderBy?: ProfileGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends TupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetProfileGroupByPayload : PrismaPromise + + } + + /** + * The delegate class that acts as a "Promise-like" for Profile. + * 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 class Prisma__ProfileClient implements PrismaPromise { + [prisma]: true; + private readonly _dmmf; + private readonly _fetcher; + private readonly _queryType; + private readonly _rootField; + private readonly _clientMethod; + private readonly _args; + private readonly _dataPath; + private readonly _errorFormat; + private readonly _measurePerformance?; + private _isList; + private _callsite; + private _requestPromise?; + constructor(_dmmf: runtime.DMMFClass, _fetcher: PrismaClientFetcher, _queryType: 'query' | 'mutation', _rootField: string, _clientMethod: string, _args: any, _dataPath: string[], _errorFormat: ErrorFormat, _measurePerformance?: boolean | undefined, _isList?: boolean); + readonly [Symbol.toStringTag]: 'PrismaClientPromise'; + + user(args?: Subset): Prisma__UserClient | Null>; + + image(args?: Subset): Prisma__ProfileImageClient | Null>; + + private get _document(); + /** + * 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): Promise; + /** + * 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): Promise; + /** + * 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): Promise; + } + + + + // Custom InputTypes + + /** + * Profile base type for findUnique actions + */ + export type ProfileFindUniqueArgsBase = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * Filter, which Profile to fetch. + * + **/ + where: ProfileWhereUniqueInput + } + + /** + * Profile findUnique + */ + export interface ProfileFindUniqueArgs extends ProfileFindUniqueArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findUniqueOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * Profile findUniqueOrThrow + */ + export type ProfileFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * Filter, which Profile to fetch. + * + **/ + where: ProfileWhereUniqueInput + } + + + /** + * Profile base type for findFirst actions + */ + export type ProfileFindFirstArgsBase = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * Filter, which Profile to fetch. + * + **/ + where?: ProfileWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Profiles to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Profiles. + * + **/ + cursor?: ProfileWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Profiles 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` Profiles. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Profiles. + * + **/ + distinct?: Enumerable + } + + /** + * Profile findFirst + */ + export interface ProfileFindFirstArgs extends ProfileFindFirstArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findFirstOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * Profile findFirstOrThrow + */ + export type ProfileFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * Filter, which Profile to fetch. + * + **/ + where?: ProfileWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Profiles to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Profiles. + * + **/ + cursor?: ProfileWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Profiles 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` Profiles. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Profiles. + * + **/ + distinct?: Enumerable + } + + + /** + * Profile findMany + */ + export type ProfileFindManyArgs = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * Filter, which Profiles to fetch. + * + **/ + where?: ProfileWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Profiles to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Profiles. + * + **/ + cursor?: ProfileWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Profiles 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` Profiles. + * + **/ + skip?: number + distinct?: Enumerable + } + + + /** + * Profile create + */ + export type ProfileCreateArgs = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * The data needed to create a Profile. + * + **/ + data: XOR + } + + + /** + * Profile createMany + */ + export type ProfileCreateManyArgs = { + /** + * The data used to create many Profiles. + * + **/ + data: Enumerable + skipDuplicates?: boolean + } + + + /** + * Profile update + */ + export type ProfileUpdateArgs = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * The data needed to update a Profile. + * + **/ + data: XOR + /** + * Choose, which Profile to update. + * + **/ + where: ProfileWhereUniqueInput + } + + + /** + * Profile updateMany + */ + export type ProfileUpdateManyArgs = { + /** + * The data used to update Profiles. + * + **/ + data: XOR + /** + * Filter which Profiles to update + * + **/ + where?: ProfileWhereInput + } + + + /** + * Profile upsert + */ + export type ProfileUpsertArgs = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * The filter to search for the Profile to update in case it exists. + * + **/ + where: ProfileWhereUniqueInput + /** + * In case the Profile found by the `where` argument doesn't exist, create a new Profile with this data. + * + **/ + create: XOR + /** + * In case the Profile was found with the provided `where` argument, update it with this data. + * + **/ + update: XOR + } + + + /** + * Profile delete + */ + export type ProfileDeleteArgs = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + /** + * Filter which Profile to delete. + * + **/ + where: ProfileWhereUniqueInput + } + + + /** + * Profile deleteMany + */ + export type ProfileDeleteManyArgs = { + /** + * Filter which Profiles to delete + * + **/ + where?: ProfileWhereInput + } + + + /** + * Profile without action + */ + export type ProfileArgs = { + /** + * Select specific fields to fetch from the Profile + * + **/ + select?: ProfileSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileInclude | null + } + + + + /** + * Model ProfileImage + */ + + + export type AggregateProfileImage = { + _count: ProfileImageCountAggregateOutputType | null + _min: ProfileImageMinAggregateOutputType | null + _max: ProfileImageMaxAggregateOutputType | null + } + + export type ProfileImageMinAggregateOutputType = { + id: string | null + image: Buffer | null + } + + export type ProfileImageMaxAggregateOutputType = { + id: string | null + image: Buffer | null + } + + export type ProfileImageCountAggregateOutputType = { + id: number + image: number + _all: number + } + + + export type ProfileImageMinAggregateInputType = { + id?: true + image?: true + } + + export type ProfileImageMaxAggregateInputType = { + id?: true + image?: true + } + + export type ProfileImageCountAggregateInputType = { + id?: true + image?: true + _all?: true + } + + export type ProfileImageAggregateArgs = { + /** + * Filter which ProfileImage to aggregate. + * + **/ + where?: ProfileImageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ProfileImages to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + * + **/ + cursor?: ProfileImageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ProfileImages 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` ProfileImages. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned ProfileImages + **/ + _count?: true | ProfileImageCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ProfileImageMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ProfileImageMaxAggregateInputType + } + + export type GetProfileImageAggregateType = { + [P in keyof T & keyof AggregateProfileImage]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type ProfileImageGroupByArgs = { + where?: ProfileImageWhereInput + orderBy?: Enumerable + by: Array + having?: ProfileImageScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ProfileImageCountAggregateInputType | true + _min?: ProfileImageMinAggregateInputType + _max?: ProfileImageMaxAggregateInputType + } + + + export type ProfileImageGroupByOutputType = { + id: string + image: Buffer + _count: ProfileImageCountAggregateOutputType | null + _min: ProfileImageMinAggregateOutputType | null + _max: ProfileImageMaxAggregateOutputType | null + } + + type GetProfileImageGroupByPayload = PrismaPromise< + Array< + PickArray & + { + [P in ((keyof T) & (keyof ProfileImageGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type ProfileImageSelect = { + id?: boolean + image?: boolean + profile?: boolean | ProfileArgs + } + + + export type ProfileImageInclude = { + profile?: boolean | ProfileArgs + } + + export type ProfileImageGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? ProfileImage : + S extends undefined ? never : + S extends { include: any } & (ProfileImageArgs | ProfileImageFindManyArgs) + ? ProfileImage & { + [P in TruthyKeys]: + P extends 'profile' ? ProfileGetPayload | null : never + } + : S extends { select: any } & (ProfileImageArgs | ProfileImageFindManyArgs) + ? { + [P in TruthyKeys]: + P extends 'profile' ? ProfileGetPayload | null : P extends keyof ProfileImage ? ProfileImage[P] : never + } + : ProfileImage + + + type ProfileImageCountArgs = Merge< + Omit & { + select?: ProfileImageCountAggregateInputType | true + } + > + + export interface ProfileImageDelegate { + /** + * Find zero or one ProfileImage that matches the filter. + * @param {ProfileImageFindUniqueArgs} args - Arguments to find a ProfileImage + * @example + * // Get one ProfileImage + * const profileImage = await prisma.profileImage.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUnique( + args: SelectSubset + ): HasReject extends True ? Prisma__ProfileImageClient> : Prisma__ProfileImageClient | null, null> + + /** + * Find one ProfileImage that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ProfileImageFindUniqueOrThrowArgs} args - Arguments to find a ProfileImage + * @example + * // Get one ProfileImage + * const profileImage = await prisma.profileImage.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUniqueOrThrow( + args?: SelectSubset + ): Prisma__ProfileImageClient> + + /** + * Find the first ProfileImage 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 {ProfileImageFindFirstArgs} args - Arguments to find a ProfileImage + * @example + * // Get one ProfileImage + * const profileImage = await prisma.profileImage.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirst( + args?: SelectSubset + ): HasReject extends True ? Prisma__ProfileImageClient> : Prisma__ProfileImageClient | null, null> + + /** + * Find the first ProfileImage that matches the filter or + * throw `NotFoundError` 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 {ProfileImageFindFirstOrThrowArgs} args - Arguments to find a ProfileImage + * @example + * // Get one ProfileImage + * const profileImage = await prisma.profileImage.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirstOrThrow( + args?: SelectSubset + ): Prisma__ProfileImageClient> + + /** + * Find zero or more ProfileImages 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 {ProfileImageFindManyArgs=} args - Arguments to filter and select certain fields only. + * @example + * // Get all ProfileImages + * const profileImages = await prisma.profileImage.findMany() + * + * // Get first 10 ProfileImages + * const profileImages = await prisma.profileImage.findMany({ take: 10 }) + * + * // Only select the `id` + * const profileImageWithIdOnly = await prisma.profileImage.findMany({ select: { id: true } }) + * + **/ + findMany( + args?: SelectSubset + ): PrismaPromise>> + + /** + * Create a ProfileImage. + * @param {ProfileImageCreateArgs} args - Arguments to create a ProfileImage. + * @example + * // Create one ProfileImage + * const ProfileImage = await prisma.profileImage.create({ + * data: { + * // ... data to create a ProfileImage + * } + * }) + * + **/ + create( + args: SelectSubset + ): Prisma__ProfileImageClient> + + /** + * Create many ProfileImages. + * @param {ProfileImageCreateManyArgs} args - Arguments to create many ProfileImages. + * @example + * // Create many ProfileImages + * const profileImage = await prisma.profileImage.createMany({ + * data: { + * // ... provide data here + * } + * }) + * + **/ + createMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Delete a ProfileImage. + * @param {ProfileImageDeleteArgs} args - Arguments to delete one ProfileImage. + * @example + * // Delete one ProfileImage + * const ProfileImage = await prisma.profileImage.delete({ + * where: { + * // ... filter to delete one ProfileImage + * } + * }) + * + **/ + delete( + args: SelectSubset + ): Prisma__ProfileImageClient> + + /** + * Update one ProfileImage. + * @param {ProfileImageUpdateArgs} args - Arguments to update one ProfileImage. + * @example + * // Update one ProfileImage + * const profileImage = await prisma.profileImage.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + update( + args: SelectSubset + ): Prisma__ProfileImageClient> + + /** + * Delete zero or more ProfileImages. + * @param {ProfileImageDeleteManyArgs} args - Arguments to filter ProfileImages to delete. + * @example + * // Delete a few ProfileImages + * const { count } = await prisma.profileImage.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + **/ + deleteMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Update zero or more ProfileImages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfileImageUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many ProfileImages + * const profileImage = await prisma.profileImage.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + updateMany( + args: SelectSubset + ): PrismaPromise + + /** + * Create or update one ProfileImage. + * @param {ProfileImageUpsertArgs} args - Arguments to update or create a ProfileImage. + * @example + * // Update or create a ProfileImage + * const profileImage = await prisma.profileImage.upsert({ + * create: { + * // ... data to create a ProfileImage + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the ProfileImage we want to update + * } + * }) + **/ + upsert( + args: SelectSubset + ): Prisma__ProfileImageClient> + + /** + * Count the number of ProfileImages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfileImageCountArgs} args - Arguments to filter ProfileImages to count. + * @example + * // Count the number of ProfileImages + * const count = await prisma.profileImage.count({ + * where: { + * // ... the filter for the ProfileImages we want to count + * } + * }) + **/ + count( + args?: Subset, + ): PrismaPromise< + T extends _Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a ProfileImage. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfileImageAggregateArgs} 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: Subset): PrismaPromise> + + /** + * Group by ProfileImage. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProfileImageGroupByArgs} 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 ProfileImageGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: ProfileImageGroupByArgs['orderBy'] } + : { orderBy?: ProfileImageGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends TupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetProfileImageGroupByPayload : PrismaPromise + + } + + /** + * The delegate class that acts as a "Promise-like" for ProfileImage. + * 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 class Prisma__ProfileImageClient implements PrismaPromise { + [prisma]: true; + private readonly _dmmf; + private readonly _fetcher; + private readonly _queryType; + private readonly _rootField; + private readonly _clientMethod; + private readonly _args; + private readonly _dataPath; + private readonly _errorFormat; + private readonly _measurePerformance?; + private _isList; + private _callsite; + private _requestPromise?; + constructor(_dmmf: runtime.DMMFClass, _fetcher: PrismaClientFetcher, _queryType: 'query' | 'mutation', _rootField: string, _clientMethod: string, _args: any, _dataPath: string[], _errorFormat: ErrorFormat, _measurePerformance?: boolean | undefined, _isList?: boolean); + readonly [Symbol.toStringTag]: 'PrismaClientPromise'; + + profile(args?: Subset): Prisma__ProfileClient | Null>; + + private get _document(); + /** + * 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): Promise; + /** + * 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): Promise; + /** + * 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): Promise; + } + + + + // Custom InputTypes + + /** + * ProfileImage base type for findUnique actions + */ + export type ProfileImageFindUniqueArgsBase = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * Filter, which ProfileImage to fetch. + * + **/ + where: ProfileImageWhereUniqueInput + } + + /** + * ProfileImage findUnique + */ + export interface ProfileImageFindUniqueArgs extends ProfileImageFindUniqueArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findUniqueOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * ProfileImage findUniqueOrThrow + */ + export type ProfileImageFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * Filter, which ProfileImage to fetch. + * + **/ + where: ProfileImageWhereUniqueInput + } + + + /** + * ProfileImage base type for findFirst actions + */ + export type ProfileImageFindFirstArgsBase = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * Filter, which ProfileImage to fetch. + * + **/ + where?: ProfileImageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ProfileImages to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ProfileImages. + * + **/ + cursor?: ProfileImageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ProfileImages 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` ProfileImages. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ProfileImages. + * + **/ + distinct?: Enumerable + } + + /** + * ProfileImage findFirst + */ + export interface ProfileImageFindFirstArgs extends ProfileImageFindFirstArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findFirstOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * ProfileImage findFirstOrThrow + */ + export type ProfileImageFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * Filter, which ProfileImage to fetch. + * + **/ + where?: ProfileImageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ProfileImages to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ProfileImages. + * + **/ + cursor?: ProfileImageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ProfileImages 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` ProfileImages. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ProfileImages. + * + **/ + distinct?: Enumerable + } + + + /** + * ProfileImage findMany + */ + export type ProfileImageFindManyArgs = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * Filter, which ProfileImages to fetch. + * + **/ + where?: ProfileImageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ProfileImages to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing ProfileImages. + * + **/ + cursor?: ProfileImageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ProfileImages 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` ProfileImages. + * + **/ + skip?: number + distinct?: Enumerable + } + + + /** + * ProfileImage create + */ + export type ProfileImageCreateArgs = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * The data needed to create a ProfileImage. + * + **/ + data: XOR + } + + + /** + * ProfileImage createMany + */ + export type ProfileImageCreateManyArgs = { + /** + * The data used to create many ProfileImages. + * + **/ + data: Enumerable + skipDuplicates?: boolean + } + + + /** + * ProfileImage update + */ + export type ProfileImageUpdateArgs = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * The data needed to update a ProfileImage. + * + **/ + data: XOR + /** + * Choose, which ProfileImage to update. + * + **/ + where: ProfileImageWhereUniqueInput + } + + + /** + * ProfileImage updateMany + */ + export type ProfileImageUpdateManyArgs = { + /** + * The data used to update ProfileImages. + * + **/ + data: XOR + /** + * Filter which ProfileImages to update + * + **/ + where?: ProfileImageWhereInput + } + + + /** + * ProfileImage upsert + */ + export type ProfileImageUpsertArgs = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * The filter to search for the ProfileImage to update in case it exists. + * + **/ + where: ProfileImageWhereUniqueInput + /** + * In case the ProfileImage found by the `where` argument doesn't exist, create a new ProfileImage with this data. + * + **/ + create: XOR + /** + * In case the ProfileImage was found with the provided `where` argument, update it with this data. + * + **/ + update: XOR + } + + + /** + * ProfileImage delete + */ + export type ProfileImageDeleteArgs = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + /** + * Filter which ProfileImage to delete. + * + **/ + where: ProfileImageWhereUniqueInput + } + + + /** + * ProfileImage deleteMany + */ + export type ProfileImageDeleteManyArgs = { + /** + * Filter which ProfileImages to delete + * + **/ + where?: ProfileImageWhereInput + } + + + /** + * ProfileImage without action + */ + export type ProfileImageArgs = { + /** + * Select specific fields to fetch from the ProfileImage + * + **/ + select?: ProfileImageSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: ProfileImageInclude | null + } + + + + /** + * Model DataTypes + */ + + + export type AggregateDataTypes = { + _count: DataTypesCountAggregateOutputType | null + _avg: DataTypesAvgAggregateOutputType | null + _sum: DataTypesSumAggregateOutputType | null + _min: DataTypesMinAggregateOutputType | null + _max: DataTypesMaxAggregateOutputType | null + } + + export type DataTypesAvgAggregateOutputType = { + id: number | null + int2: number | null + int4: number | null + int8: number | null + float4: number | null + float8: number | null + relatedId: number | null + } + + export type DataTypesSumAggregateOutputType = { + id: number | null + int2: number | null + int4: number | null + int8: bigint | null + float4: number | null + float8: number | null + relatedId: number | null + } + + export type DataTypesMinAggregateOutputType = { + id: number | null + date: Date | null + time: Date | null + timetz: Date | null + timestamp: Date | null + timestamptz: Date | null + bool: boolean | null + uuid: string | null + int2: number | null + int4: number | null + int8: bigint | null + float4: number | null + float8: number | null + bytea: Buffer | null + relatedId: number | null + } + + export type DataTypesMaxAggregateOutputType = { + id: number | null + date: Date | null + time: Date | null + timetz: Date | null + timestamp: Date | null + timestamptz: Date | null + bool: boolean | null + uuid: string | null + int2: number | null + int4: number | null + int8: bigint | null + float4: number | null + float8: number | null + bytea: Buffer | null + relatedId: number | null + } + + export type DataTypesCountAggregateOutputType = { + id: number + date: number + time: number + timetz: number + timestamp: number + timestamptz: number + bool: number + uuid: number + int2: number + int4: number + int8: number + float4: number + float8: number + json: number + bytea: number + relatedId: number + _all: number + } + + + export type DataTypesAvgAggregateInputType = { + id?: true + int2?: true + int4?: true + int8?: true + float4?: true + float8?: true + relatedId?: true + } + + export type DataTypesSumAggregateInputType = { + id?: true + int2?: true + int4?: true + int8?: true + float4?: true + float8?: true + relatedId?: true + } + + export type DataTypesMinAggregateInputType = { + id?: true + date?: true + time?: true + timetz?: true + timestamp?: true + timestamptz?: true + bool?: true + uuid?: true + int2?: true + int4?: true + int8?: true + float4?: true + float8?: true + bytea?: true + relatedId?: true + } + + export type DataTypesMaxAggregateInputType = { + id?: true + date?: true + time?: true + timetz?: true + timestamp?: true + timestamptz?: true + bool?: true + uuid?: true + int2?: true + int4?: true + int8?: true + float4?: true + float8?: true + bytea?: true + relatedId?: true + } + + export type DataTypesCountAggregateInputType = { + id?: true + date?: true + time?: true + timetz?: true + timestamp?: true + timestamptz?: true + bool?: true + uuid?: true + int2?: true + int4?: true + int8?: true + float4?: true + float8?: true + json?: true + bytea?: true + relatedId?: true + _all?: true + } + + export type DataTypesAggregateArgs = { + /** + * Filter which DataTypes to aggregate. + * + **/ + where?: DataTypesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of DataTypes to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + * + **/ + cursor?: DataTypesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` DataTypes 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` DataTypes. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned DataTypes + **/ + _count?: true | DataTypesCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: DataTypesAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: DataTypesSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: DataTypesMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: DataTypesMaxAggregateInputType + } + + export type GetDataTypesAggregateType = { + [P in keyof T & keyof AggregateDataTypes]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type DataTypesGroupByArgs = { + where?: DataTypesWhereInput + orderBy?: Enumerable + by: Array + having?: DataTypesScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: DataTypesCountAggregateInputType | true + _avg?: DataTypesAvgAggregateInputType + _sum?: DataTypesSumAggregateInputType + _min?: DataTypesMinAggregateInputType + _max?: DataTypesMaxAggregateInputType + } + + + export type DataTypesGroupByOutputType = { + id: number + date: Date | null + time: Date | null + timetz: Date | null + timestamp: Date | null + timestamptz: Date | null + bool: boolean | null + uuid: string | null + int2: number | null + int4: number | null + int8: bigint | null + float4: number | null + float8: number | null + json: JsonValue | null + bytea: Buffer | null + relatedId: number | null + _count: DataTypesCountAggregateOutputType | null + _avg: DataTypesAvgAggregateOutputType | null + _sum: DataTypesSumAggregateOutputType | null + _min: DataTypesMinAggregateOutputType | null + _max: DataTypesMaxAggregateOutputType | null + } + + type GetDataTypesGroupByPayload = PrismaPromise< + Array< + PickArray & + { + [P in ((keyof T) & (keyof DataTypesGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type DataTypesSelect = { + id?: boolean + date?: boolean + time?: boolean + timetz?: boolean + timestamp?: boolean + timestamptz?: boolean + bool?: boolean + uuid?: boolean + int2?: boolean + int4?: boolean + int8?: boolean + float4?: boolean + float8?: boolean + json?: boolean + bytea?: boolean + relatedId?: boolean + related?: boolean | DummyArgs + } + + + export type DataTypesInclude = { + related?: boolean | DummyArgs + } + + export type DataTypesGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? DataTypes : + S extends undefined ? never : + S extends { include: any } & (DataTypesArgs | DataTypesFindManyArgs) + ? DataTypes & { + [P in TruthyKeys]: + P extends 'related' ? DummyGetPayload | null : never + } + : S extends { select: any } & (DataTypesArgs | DataTypesFindManyArgs) + ? { + [P in TruthyKeys]: + P extends 'related' ? DummyGetPayload | null : P extends keyof DataTypes ? DataTypes[P] : never + } + : DataTypes + + + type DataTypesCountArgs = Merge< + Omit & { + select?: DataTypesCountAggregateInputType | true + } + > + + export interface DataTypesDelegate { + /** + * Find zero or one DataTypes that matches the filter. + * @param {DataTypesFindUniqueArgs} args - Arguments to find a DataTypes + * @example + * // Get one DataTypes + * const dataTypes = await prisma.dataTypes.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUnique( + args: SelectSubset + ): HasReject extends True ? Prisma__DataTypesClient> : Prisma__DataTypesClient | null, null> + + /** + * Find one DataTypes that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {DataTypesFindUniqueOrThrowArgs} args - Arguments to find a DataTypes + * @example + * // Get one DataTypes + * const dataTypes = await prisma.dataTypes.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUniqueOrThrow( + args?: SelectSubset + ): Prisma__DataTypesClient> + + /** + * Find the first DataTypes 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 {DataTypesFindFirstArgs} args - Arguments to find a DataTypes + * @example + * // Get one DataTypes + * const dataTypes = await prisma.dataTypes.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirst( + args?: SelectSubset + ): HasReject extends True ? Prisma__DataTypesClient> : Prisma__DataTypesClient | null, null> + + /** + * Find the first DataTypes that matches the filter or + * throw `NotFoundError` 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 {DataTypesFindFirstOrThrowArgs} args - Arguments to find a DataTypes + * @example + * // Get one DataTypes + * const dataTypes = await prisma.dataTypes.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirstOrThrow( + args?: SelectSubset + ): Prisma__DataTypesClient> + + /** + * Find zero or more DataTypes 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 {DataTypesFindManyArgs=} args - Arguments to filter and select certain fields only. + * @example + * // Get all DataTypes + * const dataTypes = await prisma.dataTypes.findMany() + * + * // Get first 10 DataTypes + * const dataTypes = await prisma.dataTypes.findMany({ take: 10 }) + * + * // Only select the `id` + * const dataTypesWithIdOnly = await prisma.dataTypes.findMany({ select: { id: true } }) + * + **/ + findMany( + args?: SelectSubset + ): PrismaPromise>> + + /** + * Create a DataTypes. + * @param {DataTypesCreateArgs} args - Arguments to create a DataTypes. + * @example + * // Create one DataTypes + * const DataTypes = await prisma.dataTypes.create({ + * data: { + * // ... data to create a DataTypes + * } + * }) + * + **/ + create( + args: SelectSubset + ): Prisma__DataTypesClient> + + /** + * Create many DataTypes. + * @param {DataTypesCreateManyArgs} args - Arguments to create many DataTypes. + * @example + * // Create many DataTypes + * const dataTypes = await prisma.dataTypes.createMany({ + * data: { + * // ... provide data here + * } + * }) + * + **/ + createMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Delete a DataTypes. + * @param {DataTypesDeleteArgs} args - Arguments to delete one DataTypes. + * @example + * // Delete one DataTypes + * const DataTypes = await prisma.dataTypes.delete({ + * where: { + * // ... filter to delete one DataTypes + * } + * }) + * + **/ + delete( + args: SelectSubset + ): Prisma__DataTypesClient> + + /** + * Update one DataTypes. + * @param {DataTypesUpdateArgs} args - Arguments to update one DataTypes. + * @example + * // Update one DataTypes + * const dataTypes = await prisma.dataTypes.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + update( + args: SelectSubset + ): Prisma__DataTypesClient> + + /** + * Delete zero or more DataTypes. + * @param {DataTypesDeleteManyArgs} args - Arguments to filter DataTypes to delete. + * @example + * // Delete a few DataTypes + * const { count } = await prisma.dataTypes.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + **/ + deleteMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Update zero or more DataTypes. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DataTypesUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many DataTypes + * const dataTypes = await prisma.dataTypes.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + updateMany( + args: SelectSubset + ): PrismaPromise + + /** + * Create or update one DataTypes. + * @param {DataTypesUpsertArgs} args - Arguments to update or create a DataTypes. + * @example + * // Update or create a DataTypes + * const dataTypes = await prisma.dataTypes.upsert({ + * create: { + * // ... data to create a DataTypes + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the DataTypes we want to update + * } + * }) + **/ + upsert( + args: SelectSubset + ): Prisma__DataTypesClient> + + /** + * Count the number of DataTypes. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DataTypesCountArgs} args - Arguments to filter DataTypes to count. + * @example + * // Count the number of DataTypes + * const count = await prisma.dataTypes.count({ + * where: { + * // ... the filter for the DataTypes we want to count + * } + * }) + **/ + count( + args?: Subset, + ): PrismaPromise< + T extends _Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a DataTypes. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DataTypesAggregateArgs} 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: Subset): PrismaPromise> + + /** + * Group by DataTypes. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DataTypesGroupByArgs} 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 DataTypesGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: DataTypesGroupByArgs['orderBy'] } + : { orderBy?: DataTypesGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends TupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetDataTypesGroupByPayload : PrismaPromise + + } + + /** + * The delegate class that acts as a "Promise-like" for DataTypes. + * 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 class Prisma__DataTypesClient implements PrismaPromise { + [prisma]: true; + private readonly _dmmf; + private readonly _fetcher; + private readonly _queryType; + private readonly _rootField; + private readonly _clientMethod; + private readonly _args; + private readonly _dataPath; + private readonly _errorFormat; + private readonly _measurePerformance?; + private _isList; + private _callsite; + private _requestPromise?; + constructor(_dmmf: runtime.DMMFClass, _fetcher: PrismaClientFetcher, _queryType: 'query' | 'mutation', _rootField: string, _clientMethod: string, _args: any, _dataPath: string[], _errorFormat: ErrorFormat, _measurePerformance?: boolean | undefined, _isList?: boolean); + readonly [Symbol.toStringTag]: 'PrismaClientPromise'; + + related(args?: Subset): Prisma__DummyClient | Null>; + + private get _document(); + /** + * 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): Promise; + /** + * 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): Promise; + /** + * 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): Promise; + } + + + + // Custom InputTypes + + /** + * DataTypes base type for findUnique actions + */ + export type DataTypesFindUniqueArgsBase = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * Filter, which DataTypes to fetch. + * + **/ + where: DataTypesWhereUniqueInput + } + + /** + * DataTypes findUnique + */ + export interface DataTypesFindUniqueArgs extends DataTypesFindUniqueArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findUniqueOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * DataTypes findUniqueOrThrow + */ + export type DataTypesFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * Filter, which DataTypes to fetch. + * + **/ + where: DataTypesWhereUniqueInput + } + + + /** + * DataTypes base type for findFirst actions + */ + export type DataTypesFindFirstArgsBase = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * Filter, which DataTypes to fetch. + * + **/ + where?: DataTypesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of DataTypes to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for DataTypes. + * + **/ + cursor?: DataTypesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` DataTypes 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` DataTypes. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of DataTypes. + * + **/ + distinct?: Enumerable + } + + /** + * DataTypes findFirst + */ + export interface DataTypesFindFirstArgs extends DataTypesFindFirstArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findFirstOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * DataTypes findFirstOrThrow + */ + export type DataTypesFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * Filter, which DataTypes to fetch. + * + **/ + where?: DataTypesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of DataTypes to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for DataTypes. + * + **/ + cursor?: DataTypesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` DataTypes 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` DataTypes. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of DataTypes. + * + **/ + distinct?: Enumerable + } + + + /** + * DataTypes findMany + */ + export type DataTypesFindManyArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * Filter, which DataTypes to fetch. + * + **/ + where?: DataTypesWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of DataTypes to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing DataTypes. + * + **/ + cursor?: DataTypesWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` DataTypes 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` DataTypes. + * + **/ + skip?: number + distinct?: Enumerable + } + + + /** + * DataTypes create + */ + export type DataTypesCreateArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * The data needed to create a DataTypes. + * + **/ + data: XOR + } + + + /** + * DataTypes createMany + */ + export type DataTypesCreateManyArgs = { + /** + * The data used to create many DataTypes. + * + **/ + data: Enumerable + skipDuplicates?: boolean + } + + + /** + * DataTypes update + */ + export type DataTypesUpdateArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * The data needed to update a DataTypes. + * + **/ + data: XOR + /** + * Choose, which DataTypes to update. + * + **/ + where: DataTypesWhereUniqueInput + } + + + /** + * DataTypes updateMany + */ + export type DataTypesUpdateManyArgs = { + /** + * The data used to update DataTypes. + * + **/ + data: XOR + /** + * Filter which DataTypes to update + * + **/ + where?: DataTypesWhereInput + } + + + /** + * DataTypes upsert + */ + export type DataTypesUpsertArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * The filter to search for the DataTypes to update in case it exists. + * + **/ + where: DataTypesWhereUniqueInput + /** + * In case the DataTypes found by the `where` argument doesn't exist, create a new DataTypes with this data. + * + **/ + create: XOR + /** + * In case the DataTypes was found with the provided `where` argument, update it with this data. + * + **/ + update: XOR + } + + + /** + * DataTypes delete + */ + export type DataTypesDeleteArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + /** + * Filter which DataTypes to delete. + * + **/ + where: DataTypesWhereUniqueInput + } + + + /** + * DataTypes deleteMany + */ + export type DataTypesDeleteManyArgs = { + /** + * Filter which DataTypes to delete + * + **/ + where?: DataTypesWhereInput + } + + + /** + * DataTypes without action + */ + export type DataTypesArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + } + + + + /** + * Model Dummy + */ + + + export type AggregateDummy = { + _count: DummyCountAggregateOutputType | null + _avg: DummyAvgAggregateOutputType | null + _sum: DummySumAggregateOutputType | null + _min: DummyMinAggregateOutputType | null + _max: DummyMaxAggregateOutputType | null + } + + export type DummyAvgAggregateOutputType = { + id: number | null + } + + export type DummySumAggregateOutputType = { + id: number | null + } + + export type DummyMinAggregateOutputType = { + id: number | null + timestamp: Date | null + } + + export type DummyMaxAggregateOutputType = { + id: number | null + timestamp: Date | null + } + + export type DummyCountAggregateOutputType = { + id: number + timestamp: number + _all: number + } + + + export type DummyAvgAggregateInputType = { + id?: true + } + + export type DummySumAggregateInputType = { + id?: true + } + + export type DummyMinAggregateInputType = { + id?: true + timestamp?: true + } + + export type DummyMaxAggregateInputType = { + id?: true + timestamp?: true + } + + export type DummyCountAggregateInputType = { + id?: true + timestamp?: true + _all?: true + } + + export type DummyAggregateArgs = { + /** + * Filter which Dummy to aggregate. + * + **/ + where?: DummyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Dummies to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + * + **/ + cursor?: DummyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Dummies 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` Dummies. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Dummies + **/ + _count?: true | DummyCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: DummyAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: DummySumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: DummyMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: DummyMaxAggregateInputType + } + + export type GetDummyAggregateType = { + [P in keyof T & keyof AggregateDummy]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type DummyGroupByArgs = { + where?: DummyWhereInput + orderBy?: Enumerable + by: Array + having?: DummyScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: DummyCountAggregateInputType | true + _avg?: DummyAvgAggregateInputType + _sum?: DummySumAggregateInputType + _min?: DummyMinAggregateInputType + _max?: DummyMaxAggregateInputType + } + + + export type DummyGroupByOutputType = { + id: number + timestamp: Date | null + _count: DummyCountAggregateOutputType | null + _avg: DummyAvgAggregateOutputType | null + _sum: DummySumAggregateOutputType | null + _min: DummyMinAggregateOutputType | null + _max: DummyMaxAggregateOutputType | null + } + + type GetDummyGroupByPayload = PrismaPromise< + Array< + PickArray & + { + [P in ((keyof T) & (keyof DummyGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type DummySelect = { + id?: boolean + timestamp?: boolean + datatype?: boolean | Dummy$datatypeArgs + _count?: boolean | DummyCountOutputTypeArgs + } + + + export type DummyInclude = { + datatype?: boolean | Dummy$datatypeArgs + _count?: boolean | DummyCountOutputTypeArgs + } + + export type DummyGetPayload = + S extends { select: any, include: any } ? 'Please either choose `select` or `include`' : + S extends true ? Dummy : + S extends undefined ? never : + S extends { include: any } & (DummyArgs | DummyFindManyArgs) + ? Dummy & { + [P in TruthyKeys]: + P extends 'datatype' ? Array < DataTypesGetPayload> : + P extends '_count' ? DummyCountOutputTypeGetPayload : never + } + : S extends { select: any } & (DummyArgs | DummyFindManyArgs) + ? { + [P in TruthyKeys]: + P extends 'datatype' ? Array < DataTypesGetPayload> : + P extends '_count' ? DummyCountOutputTypeGetPayload : P extends keyof Dummy ? Dummy[P] : never + } + : Dummy + + + type DummyCountArgs = Merge< + Omit & { + select?: DummyCountAggregateInputType | true + } + > + + export interface DummyDelegate { + /** + * Find zero or one Dummy that matches the filter. + * @param {DummyFindUniqueArgs} args - Arguments to find a Dummy + * @example + * // Get one Dummy + * const dummy = await prisma.dummy.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUnique( + args: SelectSubset + ): HasReject extends True ? Prisma__DummyClient> : Prisma__DummyClient | null, null> + + /** + * Find one Dummy that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {DummyFindUniqueOrThrowArgs} args - Arguments to find a Dummy + * @example + * // Get one Dummy + * const dummy = await prisma.dummy.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findUniqueOrThrow( + args?: SelectSubset + ): Prisma__DummyClient> + + /** + * Find the first Dummy 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 {DummyFindFirstArgs} args - Arguments to find a Dummy + * @example + * // Get one Dummy + * const dummy = await prisma.dummy.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirst( + args?: SelectSubset + ): HasReject extends True ? Prisma__DummyClient> : Prisma__DummyClient | null, null> + + /** + * Find the first Dummy that matches the filter or + * throw `NotFoundError` 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 {DummyFindFirstOrThrowArgs} args - Arguments to find a Dummy + * @example + * // Get one Dummy + * const dummy = await prisma.dummy.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + **/ + findFirstOrThrow( + args?: SelectSubset + ): Prisma__DummyClient> + + /** + * Find zero or more Dummies 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 {DummyFindManyArgs=} args - Arguments to filter and select certain fields only. + * @example + * // Get all Dummies + * const dummies = await prisma.dummy.findMany() + * + * // Get first 10 Dummies + * const dummies = await prisma.dummy.findMany({ take: 10 }) + * + * // Only select the `id` + * const dummyWithIdOnly = await prisma.dummy.findMany({ select: { id: true } }) + * + **/ + findMany( + args?: SelectSubset + ): PrismaPromise>> + + /** + * Create a Dummy. + * @param {DummyCreateArgs} args - Arguments to create a Dummy. + * @example + * // Create one Dummy + * const Dummy = await prisma.dummy.create({ + * data: { + * // ... data to create a Dummy + * } + * }) + * + **/ + create( + args: SelectSubset + ): Prisma__DummyClient> + + /** + * Create many Dummies. + * @param {DummyCreateManyArgs} args - Arguments to create many Dummies. + * @example + * // Create many Dummies + * const dummy = await prisma.dummy.createMany({ + * data: { + * // ... provide data here + * } + * }) + * + **/ + createMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Delete a Dummy. + * @param {DummyDeleteArgs} args - Arguments to delete one Dummy. + * @example + * // Delete one Dummy + * const Dummy = await prisma.dummy.delete({ + * where: { + * // ... filter to delete one Dummy + * } + * }) + * + **/ + delete( + args: SelectSubset + ): Prisma__DummyClient> + + /** + * Update one Dummy. + * @param {DummyUpdateArgs} args - Arguments to update one Dummy. + * @example + * // Update one Dummy + * const dummy = await prisma.dummy.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + update( + args: SelectSubset + ): Prisma__DummyClient> + + /** + * Delete zero or more Dummies. + * @param {DummyDeleteManyArgs} args - Arguments to filter Dummies to delete. + * @example + * // Delete a few Dummies + * const { count } = await prisma.dummy.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + **/ + deleteMany( + args?: SelectSubset + ): PrismaPromise + + /** + * Update zero or more Dummies. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DummyUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Dummies + * const dummy = await prisma.dummy.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + **/ + updateMany( + args: SelectSubset + ): PrismaPromise + + /** + * Create or update one Dummy. + * @param {DummyUpsertArgs} args - Arguments to update or create a Dummy. + * @example + * // Update or create a Dummy + * const dummy = await prisma.dummy.upsert({ + * create: { + * // ... data to create a Dummy + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Dummy we want to update + * } + * }) + **/ + upsert( + args: SelectSubset + ): Prisma__DummyClient> + + /** + * Count the number of Dummies. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DummyCountArgs} args - Arguments to filter Dummies to count. + * @example + * // Count the number of Dummies + * const count = await prisma.dummy.count({ + * where: { + * // ... the filter for the Dummies we want to count + * } + * }) + **/ + count( + args?: Subset, + ): PrismaPromise< + T extends _Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Dummy. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DummyAggregateArgs} 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: Subset): PrismaPromise> + + /** + * Group by Dummy. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DummyGroupByArgs} 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 DummyGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: DummyGroupByArgs['orderBy'] } + : { orderBy?: DummyGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends TupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetDummyGroupByPayload : PrismaPromise + + } + + /** + * The delegate class that acts as a "Promise-like" for Dummy. + * 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 class Prisma__DummyClient implements PrismaPromise { + [prisma]: true; + private readonly _dmmf; + private readonly _fetcher; + private readonly _queryType; + private readonly _rootField; + private readonly _clientMethod; + private readonly _args; + private readonly _dataPath; + private readonly _errorFormat; + private readonly _measurePerformance?; + private _isList; + private _callsite; + private _requestPromise?; + constructor(_dmmf: runtime.DMMFClass, _fetcher: PrismaClientFetcher, _queryType: 'query' | 'mutation', _rootField: string, _clientMethod: string, _args: any, _dataPath: string[], _errorFormat: ErrorFormat, _measurePerformance?: boolean | undefined, _isList?: boolean); + readonly [Symbol.toStringTag]: 'PrismaClientPromise'; + + datatype(args?: Subset): PrismaPromise>| Null>; + + private get _document(); + /** + * 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): Promise; + /** + * 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): Promise; + /** + * 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): Promise; + } + + + + // Custom InputTypes + + /** + * Dummy base type for findUnique actions + */ + export type DummyFindUniqueArgsBase = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * Filter, which Dummy to fetch. + * + **/ + where: DummyWhereUniqueInput + } + + /** + * Dummy findUnique + */ + export interface DummyFindUniqueArgs extends DummyFindUniqueArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findUniqueOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * Dummy findUniqueOrThrow + */ + export type DummyFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * Filter, which Dummy to fetch. + * + **/ + where: DummyWhereUniqueInput + } + + + /** + * Dummy base type for findFirst actions + */ + export type DummyFindFirstArgsBase = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * Filter, which Dummy to fetch. + * + **/ + where?: DummyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Dummies to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Dummies. + * + **/ + cursor?: DummyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Dummies 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` Dummies. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Dummies. + * + **/ + distinct?: Enumerable + } + + /** + * Dummy findFirst + */ + export interface DummyFindFirstArgs extends DummyFindFirstArgsBase { + /** + * Throw an Error if query returns no results + * @deprecated since 4.0.0: use `findFirstOrThrow` method instead + */ + rejectOnNotFound?: RejectOnNotFound + } + + + /** + * Dummy findFirstOrThrow + */ + export type DummyFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * Filter, which Dummy to fetch. + * + **/ + where?: DummyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Dummies to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Dummies. + * + **/ + cursor?: DummyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Dummies 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` Dummies. + * + **/ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Dummies. + * + **/ + distinct?: Enumerable + } + + + /** + * Dummy findMany + */ + export type DummyFindManyArgs = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * Filter, which Dummies to fetch. + * + **/ + where?: DummyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Dummies to fetch. + * + **/ + orderBy?: Enumerable + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Dummies. + * + **/ + cursor?: DummyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Dummies 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` Dummies. + * + **/ + skip?: number + distinct?: Enumerable + } + + + /** + * Dummy create + */ + export type DummyCreateArgs = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * The data needed to create a Dummy. + * + **/ + data: XOR + } + + + /** + * Dummy createMany + */ + export type DummyCreateManyArgs = { + /** + * The data used to create many Dummies. + * + **/ + data: Enumerable + skipDuplicates?: boolean + } + + + /** + * Dummy update + */ + export type DummyUpdateArgs = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * The data needed to update a Dummy. + * + **/ + data: XOR + /** + * Choose, which Dummy to update. + * + **/ + where: DummyWhereUniqueInput + } + + + /** + * Dummy updateMany + */ + export type DummyUpdateManyArgs = { + /** + * The data used to update Dummies. + * + **/ + data: XOR + /** + * Filter which Dummies to update + * + **/ + where?: DummyWhereInput + } + + + /** + * Dummy upsert + */ + export type DummyUpsertArgs = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * The filter to search for the Dummy to update in case it exists. + * + **/ + where: DummyWhereUniqueInput + /** + * In case the Dummy found by the `where` argument doesn't exist, create a new Dummy with this data. + * + **/ + create: XOR + /** + * In case the Dummy was found with the provided `where` argument, update it with this data. + * + **/ + update: XOR + } + + + /** + * Dummy delete + */ + export type DummyDeleteArgs = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + /** + * Filter which Dummy to delete. + * + **/ + where: DummyWhereUniqueInput + } + + + /** + * Dummy deleteMany + */ + export type DummyDeleteManyArgs = { + /** + * Filter which Dummies to delete + * + **/ + where?: DummyWhereInput + } + + + /** + * Dummy.datatype + */ + export type Dummy$datatypeArgs = { + /** + * Select specific fields to fetch from the DataTypes + * + **/ + select?: DataTypesSelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DataTypesInclude | null + where?: DataTypesWhereInput + orderBy?: Enumerable + cursor?: DataTypesWhereUniqueInput + take?: number + skip?: number + distinct?: Enumerable + } + + + /** + * Dummy without action + */ + export type DummyArgs = { + /** + * Select specific fields to fetch from the Dummy + * + **/ + select?: DummySelect | null + /** + * Choose, which related nodes to fetch as well. + * + **/ + include?: DummyInclude | null + } + + + + /** + * Enums + */ + + // Based on + // https://github.com/microsoft/TypeScript/issues/3192#issuecomment-261720275 + + export const DataTypesScalarFieldEnum: { + id: 'id', + date: 'date', + time: 'time', + timetz: 'timetz', + timestamp: 'timestamp', + timestamptz: 'timestamptz', + bool: 'bool', + uuid: 'uuid', + int2: 'int2', + int4: 'int4', + int8: 'int8', + float4: 'float4', + float8: 'float8', + json: 'json', + bytea: 'bytea', + relatedId: 'relatedId' + }; + + export type DataTypesScalarFieldEnum = (typeof DataTypesScalarFieldEnum)[keyof typeof DataTypesScalarFieldEnum] + + + export const DummyScalarFieldEnum: { + id: 'id', + timestamp: 'timestamp' + }; + + export type DummyScalarFieldEnum = (typeof DummyScalarFieldEnum)[keyof typeof DummyScalarFieldEnum] + + + export const ItemsScalarFieldEnum: { + value: 'value', + nbr: 'nbr' + }; + + export type ItemsScalarFieldEnum = (typeof ItemsScalarFieldEnum)[keyof typeof ItemsScalarFieldEnum] + + + export const JsonNullValueFilter: { + DbNull: typeof DbNull, + JsonNull: typeof JsonNull, + AnyNull: typeof AnyNull + }; + + export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] + + + export const NullableJsonNullValueInput: { + DbNull: typeof DbNull, + JsonNull: typeof JsonNull + }; + + export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput] + + + export const PostScalarFieldEnum: { + id: 'id', + title: 'title', + contents: 'contents', + nbr: 'nbr', + authorId: 'authorId' + }; + + export type PostScalarFieldEnum = (typeof PostScalarFieldEnum)[keyof typeof PostScalarFieldEnum] + + + export const ProfileImageScalarFieldEnum: { + id: 'id', + image: 'image' + }; + + export type ProfileImageScalarFieldEnum = (typeof ProfileImageScalarFieldEnum)[keyof typeof ProfileImageScalarFieldEnum] + + + export const ProfileScalarFieldEnum: { + id: 'id', + bio: 'bio', + meta: 'meta', + userId: 'userId', + imageId: 'imageId' + }; + + export type ProfileScalarFieldEnum = (typeof ProfileScalarFieldEnum)[keyof typeof ProfileScalarFieldEnum] + + + export const QueryMode: { + default: 'default', + insensitive: 'insensitive' + }; + + export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] + + + export const SortOrder: { + asc: 'asc', + desc: 'desc' + }; + + export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + + export const TransactionIsolationLevel: { + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' + }; + + export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + + + export const UserScalarFieldEnum: { + id: 'id', + name: 'name', + meta: 'meta' + }; + + export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + + + /** + * Deep Input Types + */ + + + export type ItemsWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + value?: StringFilter | string + nbr?: IntNullableFilter | number | null + } + + export type ItemsOrderByWithRelationInput = { + value?: SortOrder + nbr?: SortOrder + } + + export type ItemsWhereUniqueInput = { + value?: string + } + + export type ItemsOrderByWithAggregationInput = { + value?: SortOrder + nbr?: SortOrder + _count?: ItemsCountOrderByAggregateInput + _avg?: ItemsAvgOrderByAggregateInput + _max?: ItemsMaxOrderByAggregateInput + _min?: ItemsMinOrderByAggregateInput + _sum?: ItemsSumOrderByAggregateInput + } + + export type ItemsScalarWhereWithAggregatesInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + value?: StringWithAggregatesFilter | string + nbr?: IntNullableWithAggregatesFilter | number | null + } + + export type UserWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntFilter | number + name?: StringNullableFilter | string | null + meta?: StringNullableFilter | string | null + posts?: PostListRelationFilter + profile?: XOR | null + } + + export type UserOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + meta?: SortOrder + posts?: PostOrderByRelationAggregateInput + profile?: ProfileOrderByWithRelationInput + } + + export type UserWhereUniqueInput = { + id?: number + } + + export type UserOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + meta?: SortOrder + _count?: UserCountOrderByAggregateInput + _avg?: UserAvgOrderByAggregateInput + _max?: UserMaxOrderByAggregateInput + _min?: UserMinOrderByAggregateInput + _sum?: UserSumOrderByAggregateInput + } + + export type UserScalarWhereWithAggregatesInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntWithAggregatesFilter | number + name?: StringNullableWithAggregatesFilter | string | null + meta?: StringNullableWithAggregatesFilter | string | null + } + + export type PostWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntFilter | number + title?: StringFilter | string + contents?: StringFilter | string + nbr?: IntNullableFilter | number | null + authorId?: IntFilter | number + author?: XOR | null + } + + export type PostOrderByWithRelationInput = { + id?: SortOrder + title?: SortOrder + contents?: SortOrder + nbr?: SortOrder + authorId?: SortOrder + author?: UserOrderByWithRelationInput + } + + export type PostWhereUniqueInput = { + id?: number + title?: string + } + + export type PostOrderByWithAggregationInput = { + id?: SortOrder + title?: SortOrder + contents?: SortOrder + nbr?: SortOrder + authorId?: SortOrder + _count?: PostCountOrderByAggregateInput + _avg?: PostAvgOrderByAggregateInput + _max?: PostMaxOrderByAggregateInput + _min?: PostMinOrderByAggregateInput + _sum?: PostSumOrderByAggregateInput + } + + export type PostScalarWhereWithAggregatesInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntWithAggregatesFilter | number + title?: StringWithAggregatesFilter | string + contents?: StringWithAggregatesFilter | string + nbr?: IntNullableWithAggregatesFilter | number | null + authorId?: IntWithAggregatesFilter | number + } + + export type ProfileWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntFilter | number + bio?: StringFilter | string + meta?: JsonNullableFilter + userId?: IntFilter | number + user?: XOR | null + imageId?: StringNullableFilter | string | null + image?: XOR | null + } + + export type ProfileOrderByWithRelationInput = { + id?: SortOrder + bio?: SortOrder + meta?: SortOrder + userId?: SortOrder + user?: UserOrderByWithRelationInput + imageId?: SortOrder + image?: ProfileImageOrderByWithRelationInput + } + + export type ProfileWhereUniqueInput = { + id?: number + userId?: number + imageId?: string + } + + export type ProfileOrderByWithAggregationInput = { + id?: SortOrder + bio?: SortOrder + meta?: SortOrder + userId?: SortOrder + imageId?: SortOrder + _count?: ProfileCountOrderByAggregateInput + _avg?: ProfileAvgOrderByAggregateInput + _max?: ProfileMaxOrderByAggregateInput + _min?: ProfileMinOrderByAggregateInput + _sum?: ProfileSumOrderByAggregateInput + } + + export type ProfileScalarWhereWithAggregatesInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntWithAggregatesFilter | number + bio?: StringWithAggregatesFilter | string + meta?: JsonNullableWithAggregatesFilter + userId?: IntWithAggregatesFilter | number + imageId?: StringNullableWithAggregatesFilter | string | null + } + + export type ProfileImageWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: StringFilter | string + image?: BytesFilter | Buffer + profile?: XOR | null + } + + export type ProfileImageOrderByWithRelationInput = { + id?: SortOrder + image?: SortOrder + profile?: ProfileOrderByWithRelationInput + } + + export type ProfileImageWhereUniqueInput = { + id?: string + } + + export type ProfileImageOrderByWithAggregationInput = { + id?: SortOrder + image?: SortOrder + _count?: ProfileImageCountOrderByAggregateInput + _max?: ProfileImageMaxOrderByAggregateInput + _min?: ProfileImageMinOrderByAggregateInput + } + + export type ProfileImageScalarWhereWithAggregatesInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: StringWithAggregatesFilter | string + image?: BytesWithAggregatesFilter | Buffer + } + + export type DataTypesWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntFilter | number + date?: DateTimeNullableFilter | Date | string | null + time?: DateTimeNullableFilter | Date | string | null + timetz?: DateTimeNullableFilter | Date | string | null + timestamp?: DateTimeNullableFilter | Date | string | null + timestamptz?: DateTimeNullableFilter | Date | string | null + bool?: BoolNullableFilter | boolean | null + uuid?: UuidNullableFilter | string | null + int2?: IntNullableFilter | number | null + int4?: IntNullableFilter | number | null + int8?: BigIntNullableFilter | bigint | number | null + float4?: FloatNullableFilter | number | null + float8?: FloatNullableFilter | number | null + json?: JsonNullableFilter + bytea?: BytesNullableFilter | Buffer | null + relatedId?: IntNullableFilter | number | null + related?: XOR | null + } + + export type DataTypesOrderByWithRelationInput = { + id?: SortOrder + date?: SortOrder + time?: SortOrder + timetz?: SortOrder + timestamp?: SortOrder + timestamptz?: SortOrder + bool?: SortOrder + uuid?: SortOrder + int2?: SortOrder + int4?: SortOrder + int8?: SortOrder + float4?: SortOrder + float8?: SortOrder + json?: SortOrder + bytea?: SortOrder + relatedId?: SortOrder + related?: DummyOrderByWithRelationInput + } + + export type DataTypesWhereUniqueInput = { + id?: number + timestamp?: Date | string + } + + export type DataTypesOrderByWithAggregationInput = { + id?: SortOrder + date?: SortOrder + time?: SortOrder + timetz?: SortOrder + timestamp?: SortOrder + timestamptz?: SortOrder + bool?: SortOrder + uuid?: SortOrder + int2?: SortOrder + int4?: SortOrder + int8?: SortOrder + float4?: SortOrder + float8?: SortOrder + json?: SortOrder + bytea?: SortOrder + relatedId?: SortOrder + _count?: DataTypesCountOrderByAggregateInput + _avg?: DataTypesAvgOrderByAggregateInput + _max?: DataTypesMaxOrderByAggregateInput + _min?: DataTypesMinOrderByAggregateInput + _sum?: DataTypesSumOrderByAggregateInput + } + + export type DataTypesScalarWhereWithAggregatesInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntWithAggregatesFilter | number + date?: DateTimeNullableWithAggregatesFilter | Date | string | null + time?: DateTimeNullableWithAggregatesFilter | Date | string | null + timetz?: DateTimeNullableWithAggregatesFilter | Date | string | null + timestamp?: DateTimeNullableWithAggregatesFilter | Date | string | null + timestamptz?: DateTimeNullableWithAggregatesFilter | Date | string | null + bool?: BoolNullableWithAggregatesFilter | boolean | null + uuid?: UuidNullableWithAggregatesFilter | string | null + int2?: IntNullableWithAggregatesFilter | number | null + int4?: IntNullableWithAggregatesFilter | number | null + int8?: BigIntNullableWithAggregatesFilter | bigint | number | null + float4?: FloatNullableWithAggregatesFilter | number | null + float8?: FloatNullableWithAggregatesFilter | number | null + json?: JsonNullableWithAggregatesFilter + bytea?: BytesNullableWithAggregatesFilter | Buffer | null + relatedId?: IntNullableWithAggregatesFilter | number | null + } + + export type DummyWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntFilter | number + timestamp?: DateTimeNullableFilter | Date | string | null + datatype?: DataTypesListRelationFilter + } + + export type DummyOrderByWithRelationInput = { + id?: SortOrder + timestamp?: SortOrder + datatype?: DataTypesOrderByRelationAggregateInput + } + + export type DummyWhereUniqueInput = { + id?: number + } + + export type DummyOrderByWithAggregationInput = { + id?: SortOrder + timestamp?: SortOrder + _count?: DummyCountOrderByAggregateInput + _avg?: DummyAvgOrderByAggregateInput + _max?: DummyMaxOrderByAggregateInput + _min?: DummyMinOrderByAggregateInput + _sum?: DummySumOrderByAggregateInput + } + + export type DummyScalarWhereWithAggregatesInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntWithAggregatesFilter | number + timestamp?: DateTimeNullableWithAggregatesFilter | Date | string | null + } + + export type ItemsCreateInput = { + value: string + nbr?: number | null + } + + export type ItemsUncheckedCreateInput = { + value: string + nbr?: number | null + } + + export type ItemsUpdateInput = { + value?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type ItemsUncheckedUpdateInput = { + value?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type ItemsCreateManyInput = { + value: string + nbr?: number | null + } + + export type ItemsUpdateManyMutationInput = { + value?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type ItemsUncheckedUpdateManyInput = { + value?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type UserCreateInput = { + id: number + name?: string | null + meta?: string | null + posts?: PostCreateNestedManyWithoutAuthorInput + profile?: ProfileCreateNestedOneWithoutUserInput + } + + export type UserUncheckedCreateInput = { + id: number + name?: string | null + meta?: string | null + posts?: PostUncheckedCreateNestedManyWithoutAuthorInput + profile?: ProfileUncheckedCreateNestedOneWithoutUserInput + } + + export type UserUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + name?: NullableStringFieldUpdateOperationsInput | string | null + meta?: NullableStringFieldUpdateOperationsInput | string | null + posts?: PostUpdateManyWithoutAuthorNestedInput + profile?: ProfileUpdateOneWithoutUserNestedInput + } + + export type UserUncheckedUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + name?: NullableStringFieldUpdateOperationsInput | string | null + meta?: NullableStringFieldUpdateOperationsInput | string | null + posts?: PostUncheckedUpdateManyWithoutAuthorNestedInput + profile?: ProfileUncheckedUpdateOneWithoutUserNestedInput + } + + export type UserCreateManyInput = { + id: number + name?: string | null + meta?: string | null + } + + export type UserUpdateManyMutationInput = { + id?: IntFieldUpdateOperationsInput | number + name?: NullableStringFieldUpdateOperationsInput | string | null + meta?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type UserUncheckedUpdateManyInput = { + id?: IntFieldUpdateOperationsInput | number + name?: NullableStringFieldUpdateOperationsInput | string | null + meta?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type PostCreateInput = { + id: number + title: string + contents: string + nbr?: number | null + author?: UserCreateNestedOneWithoutPostsInput + } + + export type PostUncheckedCreateInput = { + id: number + title: string + contents: string + nbr?: number | null + authorId: number + } + + export type PostUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + title?: StringFieldUpdateOperationsInput | string + contents?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + author?: UserUpdateOneWithoutPostsNestedInput + } + + export type PostUncheckedUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + title?: StringFieldUpdateOperationsInput | string + contents?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + authorId?: IntFieldUpdateOperationsInput | number + } + + export type PostCreateManyInput = { + id: number + title: string + contents: string + nbr?: number | null + authorId: number + } + + export type PostUpdateManyMutationInput = { + id?: IntFieldUpdateOperationsInput | number + title?: StringFieldUpdateOperationsInput | string + contents?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type PostUncheckedUpdateManyInput = { + id?: IntFieldUpdateOperationsInput | number + title?: StringFieldUpdateOperationsInput | string + contents?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + authorId?: IntFieldUpdateOperationsInput | number + } + + export type ProfileCreateInput = { + id: number + bio: string + meta?: NullableJsonNullValueInput | InputJsonValue + user?: UserCreateNestedOneWithoutProfileInput + image?: ProfileImageCreateNestedOneWithoutProfileInput + } + + export type ProfileUncheckedCreateInput = { + id: number + bio: string + meta?: NullableJsonNullValueInput | InputJsonValue + userId: number + imageId?: string | null + } + + export type ProfileUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + bio?: StringFieldUpdateOperationsInput | string + meta?: NullableJsonNullValueInput | InputJsonValue + user?: UserUpdateOneWithoutProfileNestedInput + image?: ProfileImageUpdateOneWithoutProfileNestedInput + } + + export type ProfileUncheckedUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + bio?: StringFieldUpdateOperationsInput | string + meta?: NullableJsonNullValueInput | InputJsonValue + userId?: IntFieldUpdateOperationsInput | number + imageId?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type ProfileCreateManyInput = { + id: number + bio: string + meta?: NullableJsonNullValueInput | InputJsonValue + userId: number + imageId?: string | null + } + + export type ProfileUpdateManyMutationInput = { + id?: IntFieldUpdateOperationsInput | number + bio?: StringFieldUpdateOperationsInput | string + meta?: NullableJsonNullValueInput | InputJsonValue + } + + export type ProfileUncheckedUpdateManyInput = { + id?: IntFieldUpdateOperationsInput | number + bio?: StringFieldUpdateOperationsInput | string + meta?: NullableJsonNullValueInput | InputJsonValue + userId?: IntFieldUpdateOperationsInput | number + imageId?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type ProfileImageCreateInput = { + id: string + image: Buffer + profile?: ProfileCreateNestedOneWithoutImageInput + } + + export type ProfileImageUncheckedCreateInput = { + id: string + image: Buffer + profile?: ProfileUncheckedCreateNestedOneWithoutImageInput + } + + export type ProfileImageUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + image?: BytesFieldUpdateOperationsInput | Buffer + profile?: ProfileUpdateOneWithoutImageNestedInput + } + + export type ProfileImageUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + image?: BytesFieldUpdateOperationsInput | Buffer + profile?: ProfileUncheckedUpdateOneWithoutImageNestedInput + } + + export type ProfileImageCreateManyInput = { + id: string + image: Buffer + } + + export type ProfileImageUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + image?: BytesFieldUpdateOperationsInput | Buffer + } + + export type ProfileImageUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + image?: BytesFieldUpdateOperationsInput | Buffer + } + + export type DataTypesCreateInput = { + id: number + date?: Date | string | null + time?: Date | string | null + timetz?: Date | string | null + timestamp?: Date | string | null + timestamptz?: Date | string | null + bool?: boolean | null + uuid?: string | null + int2?: number | null + int4?: number | null + int8?: bigint | number | null + float4?: number | null + float8?: number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: Buffer | null + related?: DummyCreateNestedOneWithoutDatatypeInput + } + + export type DataTypesUncheckedCreateInput = { + id: number + date?: Date | string | null + time?: Date | string | null + timetz?: Date | string | null + timestamp?: Date | string | null + timestamptz?: Date | string | null + bool?: boolean | null + uuid?: string | null + int2?: number | null + int4?: number | null + int8?: bigint | number | null + float4?: number | null + float8?: number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: Buffer | null + relatedId?: number | null + } + + export type DataTypesUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + time?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timetz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamptz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + bool?: NullableBoolFieldUpdateOperationsInput | boolean | null + uuid?: NullableStringFieldUpdateOperationsInput | string | null + int2?: NullableIntFieldUpdateOperationsInput | number | null + int4?: NullableIntFieldUpdateOperationsInput | number | null + int8?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + float4?: NullableFloatFieldUpdateOperationsInput | number | null + float8?: NullableFloatFieldUpdateOperationsInput | number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: NullableBytesFieldUpdateOperationsInput | Buffer | null + related?: DummyUpdateOneWithoutDatatypeNestedInput + } + + export type DataTypesUncheckedUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + time?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timetz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamptz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + bool?: NullableBoolFieldUpdateOperationsInput | boolean | null + uuid?: NullableStringFieldUpdateOperationsInput | string | null + int2?: NullableIntFieldUpdateOperationsInput | number | null + int4?: NullableIntFieldUpdateOperationsInput | number | null + int8?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + float4?: NullableFloatFieldUpdateOperationsInput | number | null + float8?: NullableFloatFieldUpdateOperationsInput | number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: NullableBytesFieldUpdateOperationsInput | Buffer | null + relatedId?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type DataTypesCreateManyInput = { + id: number + date?: Date | string | null + time?: Date | string | null + timetz?: Date | string | null + timestamp?: Date | string | null + timestamptz?: Date | string | null + bool?: boolean | null + uuid?: string | null + int2?: number | null + int4?: number | null + int8?: bigint | number | null + float4?: number | null + float8?: number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: Buffer | null + relatedId?: number | null + } + + export type DataTypesUpdateManyMutationInput = { + id?: IntFieldUpdateOperationsInput | number + date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + time?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timetz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamptz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + bool?: NullableBoolFieldUpdateOperationsInput | boolean | null + uuid?: NullableStringFieldUpdateOperationsInput | string | null + int2?: NullableIntFieldUpdateOperationsInput | number | null + int4?: NullableIntFieldUpdateOperationsInput | number | null + int8?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + float4?: NullableFloatFieldUpdateOperationsInput | number | null + float8?: NullableFloatFieldUpdateOperationsInput | number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: NullableBytesFieldUpdateOperationsInput | Buffer | null + } + + export type DataTypesUncheckedUpdateManyInput = { + id?: IntFieldUpdateOperationsInput | number + date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + time?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timetz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamptz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + bool?: NullableBoolFieldUpdateOperationsInput | boolean | null + uuid?: NullableStringFieldUpdateOperationsInput | string | null + int2?: NullableIntFieldUpdateOperationsInput | number | null + int4?: NullableIntFieldUpdateOperationsInput | number | null + int8?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + float4?: NullableFloatFieldUpdateOperationsInput | number | null + float8?: NullableFloatFieldUpdateOperationsInput | number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: NullableBytesFieldUpdateOperationsInput | Buffer | null + relatedId?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type DummyCreateInput = { + id: number + timestamp?: Date | string | null + datatype?: DataTypesCreateNestedManyWithoutRelatedInput + } + + export type DummyUncheckedCreateInput = { + id: number + timestamp?: Date | string | null + datatype?: DataTypesUncheckedCreateNestedManyWithoutRelatedInput + } + + export type DummyUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + datatype?: DataTypesUpdateManyWithoutRelatedNestedInput + } + + export type DummyUncheckedUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + datatype?: DataTypesUncheckedUpdateManyWithoutRelatedNestedInput + } + + export type DummyCreateManyInput = { + id: number + timestamp?: Date | string | null + } + + export type DummyUpdateManyMutationInput = { + id?: IntFieldUpdateOperationsInput | number + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type DummyUncheckedUpdateManyInput = { + id?: IntFieldUpdateOperationsInput | number + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type StringFilter = { + equals?: string + in?: Enumerable + notIn?: Enumerable + lt?: string + lte?: string + gt?: string + gte?: string + contains?: string + startsWith?: string + endsWith?: string + mode?: QueryMode + not?: NestedStringFilter | string + } + + export type IntNullableFilter = { + equals?: number | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedIntNullableFilter | number | null + } + + export type ItemsCountOrderByAggregateInput = { + value?: SortOrder + nbr?: SortOrder + } + + export type ItemsAvgOrderByAggregateInput = { + nbr?: SortOrder + } + + export type ItemsMaxOrderByAggregateInput = { + value?: SortOrder + nbr?: SortOrder + } + + export type ItemsMinOrderByAggregateInput = { + value?: SortOrder + nbr?: SortOrder + } + + export type ItemsSumOrderByAggregateInput = { + nbr?: SortOrder + } + + export type StringWithAggregatesFilter = { + equals?: string + in?: Enumerable + notIn?: Enumerable + lt?: string + lte?: string + gt?: string + gte?: string + contains?: string + startsWith?: string + endsWith?: string + mode?: QueryMode + not?: NestedStringWithAggregatesFilter | string + _count?: NestedIntFilter + _min?: NestedStringFilter + _max?: NestedStringFilter + } + + export type IntNullableWithAggregatesFilter = { + equals?: number | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedIntNullableWithAggregatesFilter | number | null + _count?: NestedIntNullableFilter + _avg?: NestedFloatNullableFilter + _sum?: NestedIntNullableFilter + _min?: NestedIntNullableFilter + _max?: NestedIntNullableFilter + } + + export type IntFilter = { + equals?: number + in?: Enumerable + notIn?: Enumerable + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedIntFilter | number + } + + export type StringNullableFilter = { + equals?: string | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: string + lte?: string + gt?: string + gte?: string + contains?: string + startsWith?: string + endsWith?: string + mode?: QueryMode + not?: NestedStringNullableFilter | string | null + } + + export type PostListRelationFilter = { + every?: PostWhereInput + some?: PostWhereInput + none?: PostWhereInput + } + + export type ProfileRelationFilter = { + is?: ProfileWhereInput | null + isNot?: ProfileWhereInput | null + } + + export type PostOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type UserCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + meta?: SortOrder + } + + export type UserAvgOrderByAggregateInput = { + id?: SortOrder + } + + export type UserMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + meta?: SortOrder + } + + export type UserMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + meta?: SortOrder + } + + export type UserSumOrderByAggregateInput = { + id?: SortOrder + } + + export type IntWithAggregatesFilter = { + equals?: number + in?: Enumerable + notIn?: Enumerable + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedIntWithAggregatesFilter | number + _count?: NestedIntFilter + _avg?: NestedFloatFilter + _sum?: NestedIntFilter + _min?: NestedIntFilter + _max?: NestedIntFilter + } + + export type StringNullableWithAggregatesFilter = { + equals?: string | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: string + lte?: string + gt?: string + gte?: string + contains?: string + startsWith?: string + endsWith?: string + mode?: QueryMode + not?: NestedStringNullableWithAggregatesFilter | string | null + _count?: NestedIntNullableFilter + _min?: NestedStringNullableFilter + _max?: NestedStringNullableFilter + } + + export type UserRelationFilter = { + is?: UserWhereInput | null + isNot?: UserWhereInput | null + } + + export type PostCountOrderByAggregateInput = { + id?: SortOrder + title?: SortOrder + contents?: SortOrder + nbr?: SortOrder + authorId?: SortOrder + } + + export type PostAvgOrderByAggregateInput = { + id?: SortOrder + nbr?: SortOrder + authorId?: SortOrder + } + + export type PostMaxOrderByAggregateInput = { + id?: SortOrder + title?: SortOrder + contents?: SortOrder + nbr?: SortOrder + authorId?: SortOrder + } + + export type PostMinOrderByAggregateInput = { + id?: SortOrder + title?: SortOrder + contents?: SortOrder + nbr?: SortOrder + authorId?: SortOrder + } + + export type PostSumOrderByAggregateInput = { + id?: SortOrder + nbr?: SortOrder + authorId?: SortOrder + } + export type JsonNullableFilter = + | PatchUndefined< + Either, Exclude, 'path'>>, + Required + > + | OptionalFlat, 'path'>> + + export type JsonNullableFilterBase = { + equals?: InputJsonValue | JsonNullValueFilter + path?: Array + string_contains?: string + string_starts_with?: string + string_ends_with?: string + array_contains?: InputJsonValue | null + array_starts_with?: InputJsonValue | null + array_ends_with?: InputJsonValue | null + lt?: InputJsonValue + lte?: InputJsonValue + gt?: InputJsonValue + gte?: InputJsonValue + not?: InputJsonValue | JsonNullValueFilter + } + + export type ProfileImageRelationFilter = { + is?: ProfileImageWhereInput | null + isNot?: ProfileImageWhereInput | null + } + + export type ProfileCountOrderByAggregateInput = { + id?: SortOrder + bio?: SortOrder + meta?: SortOrder + userId?: SortOrder + imageId?: SortOrder + } + + export type ProfileAvgOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + } + + export type ProfileMaxOrderByAggregateInput = { + id?: SortOrder + bio?: SortOrder + userId?: SortOrder + imageId?: SortOrder + } + + export type ProfileMinOrderByAggregateInput = { + id?: SortOrder + bio?: SortOrder + userId?: SortOrder + imageId?: SortOrder + } + + export type ProfileSumOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + } + export type JsonNullableWithAggregatesFilter = + | PatchUndefined< + Either, Exclude, 'path'>>, + Required + > + | OptionalFlat, 'path'>> + + export type JsonNullableWithAggregatesFilterBase = { + equals?: InputJsonValue | JsonNullValueFilter + path?: Array + string_contains?: string + string_starts_with?: string + string_ends_with?: string + array_contains?: InputJsonValue | null + array_starts_with?: InputJsonValue | null + array_ends_with?: InputJsonValue | null + lt?: InputJsonValue + lte?: InputJsonValue + gt?: InputJsonValue + gte?: InputJsonValue + not?: InputJsonValue | JsonNullValueFilter + _count?: NestedIntNullableFilter + _min?: NestedJsonNullableFilter + _max?: NestedJsonNullableFilter + } + + export type BytesFilter = { + equals?: Buffer + in?: Enumerable + notIn?: Enumerable + not?: NestedBytesFilter | Buffer + } + + export type ProfileImageCountOrderByAggregateInput = { + id?: SortOrder + image?: SortOrder + } + + export type ProfileImageMaxOrderByAggregateInput = { + id?: SortOrder + image?: SortOrder + } + + export type ProfileImageMinOrderByAggregateInput = { + id?: SortOrder + image?: SortOrder + } + + export type BytesWithAggregatesFilter = { + equals?: Buffer + in?: Enumerable + notIn?: Enumerable + not?: NestedBytesWithAggregatesFilter | Buffer + _count?: NestedIntFilter + _min?: NestedBytesFilter + _max?: NestedBytesFilter + } + + export type DateTimeNullableFilter = { + equals?: Date | string | null + in?: Enumerable | Enumerable | null + notIn?: Enumerable | Enumerable | null + lt?: Date | string + lte?: Date | string + gt?: Date | string + gte?: Date | string + not?: NestedDateTimeNullableFilter | Date | string | null + } + + export type BoolNullableFilter = { + equals?: boolean | null + not?: NestedBoolNullableFilter | boolean | null + } + + export type UuidNullableFilter = { + equals?: string | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: string + lte?: string + gt?: string + gte?: string + mode?: QueryMode + not?: NestedUuidNullableFilter | string | null + } + + export type BigIntNullableFilter = { + equals?: bigint | number | null + in?: Enumerable | Enumerable | null + notIn?: Enumerable | Enumerable | null + lt?: bigint | number + lte?: bigint | number + gt?: bigint | number + gte?: bigint | number + not?: NestedBigIntNullableFilter | bigint | number | null + } + + export type FloatNullableFilter = { + equals?: number | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedFloatNullableFilter | number | null + } + + export type BytesNullableFilter = { + equals?: Buffer | null + in?: Enumerable | null + notIn?: Enumerable | null + not?: NestedBytesNullableFilter | Buffer | null + } + + export type DummyRelationFilter = { + is?: DummyWhereInput | null + isNot?: DummyWhereInput | null + } + + export type DataTypesCountOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + time?: SortOrder + timetz?: SortOrder + timestamp?: SortOrder + timestamptz?: SortOrder + bool?: SortOrder + uuid?: SortOrder + int2?: SortOrder + int4?: SortOrder + int8?: SortOrder + float4?: SortOrder + float8?: SortOrder + json?: SortOrder + bytea?: SortOrder + relatedId?: SortOrder + } + + export type DataTypesAvgOrderByAggregateInput = { + id?: SortOrder + int2?: SortOrder + int4?: SortOrder + int8?: SortOrder + float4?: SortOrder + float8?: SortOrder + relatedId?: SortOrder + } + + export type DataTypesMaxOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + time?: SortOrder + timetz?: SortOrder + timestamp?: SortOrder + timestamptz?: SortOrder + bool?: SortOrder + uuid?: SortOrder + int2?: SortOrder + int4?: SortOrder + int8?: SortOrder + float4?: SortOrder + float8?: SortOrder + bytea?: SortOrder + relatedId?: SortOrder + } + + export type DataTypesMinOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + time?: SortOrder + timetz?: SortOrder + timestamp?: SortOrder + timestamptz?: SortOrder + bool?: SortOrder + uuid?: SortOrder + int2?: SortOrder + int4?: SortOrder + int8?: SortOrder + float4?: SortOrder + float8?: SortOrder + bytea?: SortOrder + relatedId?: SortOrder + } + + export type DataTypesSumOrderByAggregateInput = { + id?: SortOrder + int2?: SortOrder + int4?: SortOrder + int8?: SortOrder + float4?: SortOrder + float8?: SortOrder + relatedId?: SortOrder + } + + export type DateTimeNullableWithAggregatesFilter = { + equals?: Date | string | null + in?: Enumerable | Enumerable | null + notIn?: Enumerable | Enumerable | null + lt?: Date | string + lte?: Date | string + gt?: Date | string + gte?: Date | string + not?: NestedDateTimeNullableWithAggregatesFilter | Date | string | null + _count?: NestedIntNullableFilter + _min?: NestedDateTimeNullableFilter + _max?: NestedDateTimeNullableFilter + } + + export type BoolNullableWithAggregatesFilter = { + equals?: boolean | null + not?: NestedBoolNullableWithAggregatesFilter | boolean | null + _count?: NestedIntNullableFilter + _min?: NestedBoolNullableFilter + _max?: NestedBoolNullableFilter + } + + export type UuidNullableWithAggregatesFilter = { + equals?: string | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: string + lte?: string + gt?: string + gte?: string + mode?: QueryMode + not?: NestedUuidNullableWithAggregatesFilter | string | null + _count?: NestedIntNullableFilter + _min?: NestedStringNullableFilter + _max?: NestedStringNullableFilter + } + + export type BigIntNullableWithAggregatesFilter = { + equals?: bigint | number | null + in?: Enumerable | Enumerable | null + notIn?: Enumerable | Enumerable | null + lt?: bigint | number + lte?: bigint | number + gt?: bigint | number + gte?: bigint | number + not?: NestedBigIntNullableWithAggregatesFilter | bigint | number | null + _count?: NestedIntNullableFilter + _avg?: NestedFloatNullableFilter + _sum?: NestedBigIntNullableFilter + _min?: NestedBigIntNullableFilter + _max?: NestedBigIntNullableFilter + } + + export type FloatNullableWithAggregatesFilter = { + equals?: number | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedFloatNullableWithAggregatesFilter | number | null + _count?: NestedIntNullableFilter + _avg?: NestedFloatNullableFilter + _sum?: NestedFloatNullableFilter + _min?: NestedFloatNullableFilter + _max?: NestedFloatNullableFilter + } + + export type BytesNullableWithAggregatesFilter = { + equals?: Buffer | null + in?: Enumerable | null + notIn?: Enumerable | null + not?: NestedBytesNullableWithAggregatesFilter | Buffer | null + _count?: NestedIntNullableFilter + _min?: NestedBytesNullableFilter + _max?: NestedBytesNullableFilter + } + + export type DataTypesListRelationFilter = { + every?: DataTypesWhereInput + some?: DataTypesWhereInput + none?: DataTypesWhereInput + } + + export type DataTypesOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type DummyCountOrderByAggregateInput = { + id?: SortOrder + timestamp?: SortOrder + } + + export type DummyAvgOrderByAggregateInput = { + id?: SortOrder + } + + export type DummyMaxOrderByAggregateInput = { + id?: SortOrder + timestamp?: SortOrder + } + + export type DummyMinOrderByAggregateInput = { + id?: SortOrder + timestamp?: SortOrder + } + + export type DummySumOrderByAggregateInput = { + id?: SortOrder + } + + export type StringFieldUpdateOperationsInput = { + set?: string + } + + export type NullableIntFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type PostCreateNestedManyWithoutAuthorInput = { + create?: XOR, Enumerable> + connectOrCreate?: Enumerable + createMany?: PostCreateManyAuthorInputEnvelope + connect?: Enumerable + } + + export type ProfileCreateNestedOneWithoutUserInput = { + create?: XOR + connectOrCreate?: ProfileCreateOrConnectWithoutUserInput + connect?: ProfileWhereUniqueInput + } + + export type PostUncheckedCreateNestedManyWithoutAuthorInput = { + create?: XOR, Enumerable> + connectOrCreate?: Enumerable + createMany?: PostCreateManyAuthorInputEnvelope + connect?: Enumerable + } + + export type ProfileUncheckedCreateNestedOneWithoutUserInput = { + create?: XOR + connectOrCreate?: ProfileCreateOrConnectWithoutUserInput + connect?: ProfileWhereUniqueInput + } + + export type IntFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type NullableStringFieldUpdateOperationsInput = { + set?: string | null + } + + export type PostUpdateManyWithoutAuthorNestedInput = { + create?: XOR, Enumerable> + connectOrCreate?: Enumerable + upsert?: Enumerable + createMany?: PostCreateManyAuthorInputEnvelope + set?: Enumerable + disconnect?: Enumerable + delete?: Enumerable + connect?: Enumerable + update?: Enumerable + updateMany?: Enumerable + deleteMany?: Enumerable + } + + export type ProfileUpdateOneWithoutUserNestedInput = { + create?: XOR + connectOrCreate?: ProfileCreateOrConnectWithoutUserInput + upsert?: ProfileUpsertWithoutUserInput + disconnect?: boolean + delete?: boolean + connect?: ProfileWhereUniqueInput + update?: XOR + } + + export type PostUncheckedUpdateManyWithoutAuthorNestedInput = { + create?: XOR, Enumerable> + connectOrCreate?: Enumerable + upsert?: Enumerable + createMany?: PostCreateManyAuthorInputEnvelope + set?: Enumerable + disconnect?: Enumerable + delete?: Enumerable + connect?: Enumerable + update?: Enumerable + updateMany?: Enumerable + deleteMany?: Enumerable + } + + export type ProfileUncheckedUpdateOneWithoutUserNestedInput = { + create?: XOR + connectOrCreate?: ProfileCreateOrConnectWithoutUserInput + upsert?: ProfileUpsertWithoutUserInput + disconnect?: boolean + delete?: boolean + connect?: ProfileWhereUniqueInput + update?: XOR + } + + export type UserCreateNestedOneWithoutPostsInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutPostsInput + connect?: UserWhereUniqueInput + } + + export type UserUpdateOneWithoutPostsNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutPostsInput + upsert?: UserUpsertWithoutPostsInput + disconnect?: boolean + delete?: boolean + connect?: UserWhereUniqueInput + update?: XOR + } + + export type UserCreateNestedOneWithoutProfileInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutProfileInput + connect?: UserWhereUniqueInput + } + + export type ProfileImageCreateNestedOneWithoutProfileInput = { + create?: XOR + connectOrCreate?: ProfileImageCreateOrConnectWithoutProfileInput + connect?: ProfileImageWhereUniqueInput + } + + export type UserUpdateOneWithoutProfileNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutProfileInput + upsert?: UserUpsertWithoutProfileInput + disconnect?: boolean + delete?: boolean + connect?: UserWhereUniqueInput + update?: XOR + } + + export type ProfileImageUpdateOneWithoutProfileNestedInput = { + create?: XOR + connectOrCreate?: ProfileImageCreateOrConnectWithoutProfileInput + upsert?: ProfileImageUpsertWithoutProfileInput + disconnect?: boolean + delete?: boolean + connect?: ProfileImageWhereUniqueInput + update?: XOR + } + + export type ProfileCreateNestedOneWithoutImageInput = { + create?: XOR + connectOrCreate?: ProfileCreateOrConnectWithoutImageInput + connect?: ProfileWhereUniqueInput + } + + export type ProfileUncheckedCreateNestedOneWithoutImageInput = { + create?: XOR + connectOrCreate?: ProfileCreateOrConnectWithoutImageInput + connect?: ProfileWhereUniqueInput + } + + export type BytesFieldUpdateOperationsInput = { + set?: Buffer + } + + export type ProfileUpdateOneWithoutImageNestedInput = { + create?: XOR + connectOrCreate?: ProfileCreateOrConnectWithoutImageInput + upsert?: ProfileUpsertWithoutImageInput + disconnect?: boolean + delete?: boolean + connect?: ProfileWhereUniqueInput + update?: XOR + } + + export type ProfileUncheckedUpdateOneWithoutImageNestedInput = { + create?: XOR + connectOrCreate?: ProfileCreateOrConnectWithoutImageInput + upsert?: ProfileUpsertWithoutImageInput + disconnect?: boolean + delete?: boolean + connect?: ProfileWhereUniqueInput + update?: XOR + } + + export type DummyCreateNestedOneWithoutDatatypeInput = { + create?: XOR + connectOrCreate?: DummyCreateOrConnectWithoutDatatypeInput + connect?: DummyWhereUniqueInput + } + + export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null + } + + export type NullableBoolFieldUpdateOperationsInput = { + set?: boolean | null + } + + export type NullableBigIntFieldUpdateOperationsInput = { + set?: bigint | number | null + increment?: bigint | number + decrement?: bigint | number + multiply?: bigint | number + divide?: bigint | number + } + + export type NullableFloatFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type NullableBytesFieldUpdateOperationsInput = { + set?: Buffer | null + } + + export type DummyUpdateOneWithoutDatatypeNestedInput = { + create?: XOR + connectOrCreate?: DummyCreateOrConnectWithoutDatatypeInput + upsert?: DummyUpsertWithoutDatatypeInput + disconnect?: boolean + delete?: boolean + connect?: DummyWhereUniqueInput + update?: XOR + } + + export type DataTypesCreateNestedManyWithoutRelatedInput = { + create?: XOR, Enumerable> + connectOrCreate?: Enumerable + createMany?: DataTypesCreateManyRelatedInputEnvelope + connect?: Enumerable + } + + export type DataTypesUncheckedCreateNestedManyWithoutRelatedInput = { + create?: XOR, Enumerable> + connectOrCreate?: Enumerable + createMany?: DataTypesCreateManyRelatedInputEnvelope + connect?: Enumerable + } + + export type DataTypesUpdateManyWithoutRelatedNestedInput = { + create?: XOR, Enumerable> + connectOrCreate?: Enumerable + upsert?: Enumerable + createMany?: DataTypesCreateManyRelatedInputEnvelope + set?: Enumerable + disconnect?: Enumerable + delete?: Enumerable + connect?: Enumerable + update?: Enumerable + updateMany?: Enumerable + deleteMany?: Enumerable + } + + export type DataTypesUncheckedUpdateManyWithoutRelatedNestedInput = { + create?: XOR, Enumerable> + connectOrCreate?: Enumerable + upsert?: Enumerable + createMany?: DataTypesCreateManyRelatedInputEnvelope + set?: Enumerable + disconnect?: Enumerable + delete?: Enumerable + connect?: Enumerable + update?: Enumerable + updateMany?: Enumerable + deleteMany?: Enumerable + } + + export type NestedStringFilter = { + equals?: string + in?: Enumerable + notIn?: Enumerable + lt?: string + lte?: string + gt?: string + gte?: string + contains?: string + startsWith?: string + endsWith?: string + not?: NestedStringFilter | string + } + + export type NestedIntNullableFilter = { + equals?: number | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedIntNullableFilter | number | null + } + + export type NestedStringWithAggregatesFilter = { + equals?: string + in?: Enumerable + notIn?: Enumerable + lt?: string + lte?: string + gt?: string + gte?: string + contains?: string + startsWith?: string + endsWith?: string + not?: NestedStringWithAggregatesFilter | string + _count?: NestedIntFilter + _min?: NestedStringFilter + _max?: NestedStringFilter + } + + export type NestedIntFilter = { + equals?: number + in?: Enumerable + notIn?: Enumerable + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedIntFilter | number + } + + export type NestedIntNullableWithAggregatesFilter = { + equals?: number | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedIntNullableWithAggregatesFilter | number | null + _count?: NestedIntNullableFilter + _avg?: NestedFloatNullableFilter + _sum?: NestedIntNullableFilter + _min?: NestedIntNullableFilter + _max?: NestedIntNullableFilter + } + + export type NestedFloatNullableFilter = { + equals?: number | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedFloatNullableFilter | number | null + } + + export type NestedStringNullableFilter = { + equals?: string | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: string + lte?: string + gt?: string + gte?: string + contains?: string + startsWith?: string + endsWith?: string + not?: NestedStringNullableFilter | string | null + } + + export type NestedIntWithAggregatesFilter = { + equals?: number + in?: Enumerable + notIn?: Enumerable + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedIntWithAggregatesFilter | number + _count?: NestedIntFilter + _avg?: NestedFloatFilter + _sum?: NestedIntFilter + _min?: NestedIntFilter + _max?: NestedIntFilter + } + + export type NestedFloatFilter = { + equals?: number + in?: Enumerable + notIn?: Enumerable + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedFloatFilter | number + } + + export type NestedStringNullableWithAggregatesFilter = { + equals?: string | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: string + lte?: string + gt?: string + gte?: string + contains?: string + startsWith?: string + endsWith?: string + not?: NestedStringNullableWithAggregatesFilter | string | null + _count?: NestedIntNullableFilter + _min?: NestedStringNullableFilter + _max?: NestedStringNullableFilter + } + export type NestedJsonNullableFilter = + | PatchUndefined< + Either, Exclude, 'path'>>, + Required + > + | OptionalFlat, 'path'>> + + export type NestedJsonNullableFilterBase = { + equals?: InputJsonValue | JsonNullValueFilter + path?: Array + string_contains?: string + string_starts_with?: string + string_ends_with?: string + array_contains?: InputJsonValue | null + array_starts_with?: InputJsonValue | null + array_ends_with?: InputJsonValue | null + lt?: InputJsonValue + lte?: InputJsonValue + gt?: InputJsonValue + gte?: InputJsonValue + not?: InputJsonValue | JsonNullValueFilter + } + + export type NestedBytesFilter = { + equals?: Buffer + in?: Enumerable + notIn?: Enumerable + not?: NestedBytesFilter | Buffer + } + + export type NestedBytesWithAggregatesFilter = { + equals?: Buffer + in?: Enumerable + notIn?: Enumerable + not?: NestedBytesWithAggregatesFilter | Buffer + _count?: NestedIntFilter + _min?: NestedBytesFilter + _max?: NestedBytesFilter + } + + export type NestedDateTimeNullableFilter = { + equals?: Date | string | null + in?: Enumerable | Enumerable | null + notIn?: Enumerable | Enumerable | null + lt?: Date | string + lte?: Date | string + gt?: Date | string + gte?: Date | string + not?: NestedDateTimeNullableFilter | Date | string | null + } + + export type NestedBoolNullableFilter = { + equals?: boolean | null + not?: NestedBoolNullableFilter | boolean | null + } + + export type NestedUuidNullableFilter = { + equals?: string | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: string + lte?: string + gt?: string + gte?: string + not?: NestedUuidNullableFilter | string | null + } + + export type NestedBigIntNullableFilter = { + equals?: bigint | number | null + in?: Enumerable | Enumerable | null + notIn?: Enumerable | Enumerable | null + lt?: bigint | number + lte?: bigint | number + gt?: bigint | number + gte?: bigint | number + not?: NestedBigIntNullableFilter | bigint | number | null + } + + export type NestedBytesNullableFilter = { + equals?: Buffer | null + in?: Enumerable | null + notIn?: Enumerable | null + not?: NestedBytesNullableFilter | Buffer | null + } + + export type NestedDateTimeNullableWithAggregatesFilter = { + equals?: Date | string | null + in?: Enumerable | Enumerable | null + notIn?: Enumerable | Enumerable | null + lt?: Date | string + lte?: Date | string + gt?: Date | string + gte?: Date | string + not?: NestedDateTimeNullableWithAggregatesFilter | Date | string | null + _count?: NestedIntNullableFilter + _min?: NestedDateTimeNullableFilter + _max?: NestedDateTimeNullableFilter + } + + export type NestedBoolNullableWithAggregatesFilter = { + equals?: boolean | null + not?: NestedBoolNullableWithAggregatesFilter | boolean | null + _count?: NestedIntNullableFilter + _min?: NestedBoolNullableFilter + _max?: NestedBoolNullableFilter + } + + export type NestedUuidNullableWithAggregatesFilter = { + equals?: string | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: string + lte?: string + gt?: string + gte?: string + not?: NestedUuidNullableWithAggregatesFilter | string | null + _count?: NestedIntNullableFilter + _min?: NestedStringNullableFilter + _max?: NestedStringNullableFilter + } + + export type NestedBigIntNullableWithAggregatesFilter = { + equals?: bigint | number | null + in?: Enumerable | Enumerable | null + notIn?: Enumerable | Enumerable | null + lt?: bigint | number + lte?: bigint | number + gt?: bigint | number + gte?: bigint | number + not?: NestedBigIntNullableWithAggregatesFilter | bigint | number | null + _count?: NestedIntNullableFilter + _avg?: NestedFloatNullableFilter + _sum?: NestedBigIntNullableFilter + _min?: NestedBigIntNullableFilter + _max?: NestedBigIntNullableFilter + } + + export type NestedFloatNullableWithAggregatesFilter = { + equals?: number | null + in?: Enumerable | null + notIn?: Enumerable | null + lt?: number + lte?: number + gt?: number + gte?: number + not?: NestedFloatNullableWithAggregatesFilter | number | null + _count?: NestedIntNullableFilter + _avg?: NestedFloatNullableFilter + _sum?: NestedFloatNullableFilter + _min?: NestedFloatNullableFilter + _max?: NestedFloatNullableFilter + } + + export type NestedBytesNullableWithAggregatesFilter = { + equals?: Buffer | null + in?: Enumerable | null + notIn?: Enumerable | null + not?: NestedBytesNullableWithAggregatesFilter | Buffer | null + _count?: NestedIntNullableFilter + _min?: NestedBytesNullableFilter + _max?: NestedBytesNullableFilter + } + + export type PostCreateWithoutAuthorInput = { + id: number + title: string + contents: string + nbr?: number | null + } + + export type PostUncheckedCreateWithoutAuthorInput = { + id: number + title: string + contents: string + nbr?: number | null + } + + export type PostCreateOrConnectWithoutAuthorInput = { + where: PostWhereUniqueInput + create: XOR + } + + export type PostCreateManyAuthorInputEnvelope = { + data: Enumerable + skipDuplicates?: boolean + } + + export type ProfileCreateWithoutUserInput = { + id: number + bio: string + meta?: NullableJsonNullValueInput | InputJsonValue + image?: ProfileImageCreateNestedOneWithoutProfileInput + } + + export type ProfileUncheckedCreateWithoutUserInput = { + id: number + bio: string + meta?: NullableJsonNullValueInput | InputJsonValue + imageId?: string | null + } + + export type ProfileCreateOrConnectWithoutUserInput = { + where: ProfileWhereUniqueInput + create: XOR + } + + export type PostUpsertWithWhereUniqueWithoutAuthorInput = { + where: PostWhereUniqueInput + update: XOR + create: XOR + } + + export type PostUpdateWithWhereUniqueWithoutAuthorInput = { + where: PostWhereUniqueInput + data: XOR + } + + export type PostUpdateManyWithWhereWithoutAuthorInput = { + where: PostScalarWhereInput + data: XOR + } + + export type PostScalarWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntFilter | number + title?: StringFilter | string + contents?: StringFilter | string + nbr?: IntNullableFilter | number | null + authorId?: IntFilter | number + } + + export type ProfileUpsertWithoutUserInput = { + update: XOR + create: XOR + } + + export type ProfileUpdateWithoutUserInput = { + id?: IntFieldUpdateOperationsInput | number + bio?: StringFieldUpdateOperationsInput | string + meta?: NullableJsonNullValueInput | InputJsonValue + image?: ProfileImageUpdateOneWithoutProfileNestedInput + } + + export type ProfileUncheckedUpdateWithoutUserInput = { + id?: IntFieldUpdateOperationsInput | number + bio?: StringFieldUpdateOperationsInput | string + meta?: NullableJsonNullValueInput | InputJsonValue + imageId?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type UserCreateWithoutPostsInput = { + id: number + name?: string | null + meta?: string | null + profile?: ProfileCreateNestedOneWithoutUserInput + } + + export type UserUncheckedCreateWithoutPostsInput = { + id: number + name?: string | null + meta?: string | null + profile?: ProfileUncheckedCreateNestedOneWithoutUserInput + } + + export type UserCreateOrConnectWithoutPostsInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type UserUpsertWithoutPostsInput = { + update: XOR + create: XOR + } + + export type UserUpdateWithoutPostsInput = { + id?: IntFieldUpdateOperationsInput | number + name?: NullableStringFieldUpdateOperationsInput | string | null + meta?: NullableStringFieldUpdateOperationsInput | string | null + profile?: ProfileUpdateOneWithoutUserNestedInput + } + + export type UserUncheckedUpdateWithoutPostsInput = { + id?: IntFieldUpdateOperationsInput | number + name?: NullableStringFieldUpdateOperationsInput | string | null + meta?: NullableStringFieldUpdateOperationsInput | string | null + profile?: ProfileUncheckedUpdateOneWithoutUserNestedInput + } + + export type UserCreateWithoutProfileInput = { + id: number + name?: string | null + meta?: string | null + posts?: PostCreateNestedManyWithoutAuthorInput + } + + export type UserUncheckedCreateWithoutProfileInput = { + id: number + name?: string | null + meta?: string | null + posts?: PostUncheckedCreateNestedManyWithoutAuthorInput + } + + export type UserCreateOrConnectWithoutProfileInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type ProfileImageCreateWithoutProfileInput = { + id: string + image: Buffer + } + + export type ProfileImageUncheckedCreateWithoutProfileInput = { + id: string + image: Buffer + } + + export type ProfileImageCreateOrConnectWithoutProfileInput = { + where: ProfileImageWhereUniqueInput + create: XOR + } + + export type UserUpsertWithoutProfileInput = { + update: XOR + create: XOR + } + + export type UserUpdateWithoutProfileInput = { + id?: IntFieldUpdateOperationsInput | number + name?: NullableStringFieldUpdateOperationsInput | string | null + meta?: NullableStringFieldUpdateOperationsInput | string | null + posts?: PostUpdateManyWithoutAuthorNestedInput + } + + export type UserUncheckedUpdateWithoutProfileInput = { + id?: IntFieldUpdateOperationsInput | number + name?: NullableStringFieldUpdateOperationsInput | string | null + meta?: NullableStringFieldUpdateOperationsInput | string | null + posts?: PostUncheckedUpdateManyWithoutAuthorNestedInput + } + + export type ProfileImageUpsertWithoutProfileInput = { + update: XOR + create: XOR + } + + export type ProfileImageUpdateWithoutProfileInput = { + id?: StringFieldUpdateOperationsInput | string + image?: BytesFieldUpdateOperationsInput | Buffer + } + + export type ProfileImageUncheckedUpdateWithoutProfileInput = { + id?: StringFieldUpdateOperationsInput | string + image?: BytesFieldUpdateOperationsInput | Buffer + } + + export type ProfileCreateWithoutImageInput = { + id: number + bio: string + meta?: NullableJsonNullValueInput | InputJsonValue + user?: UserCreateNestedOneWithoutProfileInput + } + + export type ProfileUncheckedCreateWithoutImageInput = { + id: number + bio: string + meta?: NullableJsonNullValueInput | InputJsonValue + userId: number + } + + export type ProfileCreateOrConnectWithoutImageInput = { + where: ProfileWhereUniqueInput + create: XOR + } + + export type ProfileUpsertWithoutImageInput = { + update: XOR + create: XOR + } + + export type ProfileUpdateWithoutImageInput = { + id?: IntFieldUpdateOperationsInput | number + bio?: StringFieldUpdateOperationsInput | string + meta?: NullableJsonNullValueInput | InputJsonValue + user?: UserUpdateOneWithoutProfileNestedInput + } + + export type ProfileUncheckedUpdateWithoutImageInput = { + id?: IntFieldUpdateOperationsInput | number + bio?: StringFieldUpdateOperationsInput | string + meta?: NullableJsonNullValueInput | InputJsonValue + userId?: IntFieldUpdateOperationsInput | number + } + + export type DummyCreateWithoutDatatypeInput = { + id: number + timestamp?: Date | string | null + } + + export type DummyUncheckedCreateWithoutDatatypeInput = { + id: number + timestamp?: Date | string | null + } + + export type DummyCreateOrConnectWithoutDatatypeInput = { + where: DummyWhereUniqueInput + create: XOR + } + + export type DummyUpsertWithoutDatatypeInput = { + update: XOR + create: XOR + } + + export type DummyUpdateWithoutDatatypeInput = { + id?: IntFieldUpdateOperationsInput | number + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type DummyUncheckedUpdateWithoutDatatypeInput = { + id?: IntFieldUpdateOperationsInput | number + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type DataTypesCreateWithoutRelatedInput = { + id: number + date?: Date | string | null + time?: Date | string | null + timetz?: Date | string | null + timestamp?: Date | string | null + timestamptz?: Date | string | null + bool?: boolean | null + uuid?: string | null + int2?: number | null + int4?: number | null + int8?: bigint | number | null + float4?: number | null + float8?: number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: Buffer | null + } + + export type DataTypesUncheckedCreateWithoutRelatedInput = { + id: number + date?: Date | string | null + time?: Date | string | null + timetz?: Date | string | null + timestamp?: Date | string | null + timestamptz?: Date | string | null + bool?: boolean | null + uuid?: string | null + int2?: number | null + int4?: number | null + int8?: bigint | number | null + float4?: number | null + float8?: number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: Buffer | null + } + + export type DataTypesCreateOrConnectWithoutRelatedInput = { + where: DataTypesWhereUniqueInput + create: XOR + } + + export type DataTypesCreateManyRelatedInputEnvelope = { + data: Enumerable + skipDuplicates?: boolean + } + + export type DataTypesUpsertWithWhereUniqueWithoutRelatedInput = { + where: DataTypesWhereUniqueInput + update: XOR + create: XOR + } + + export type DataTypesUpdateWithWhereUniqueWithoutRelatedInput = { + where: DataTypesWhereUniqueInput + data: XOR + } + + export type DataTypesUpdateManyWithWhereWithoutRelatedInput = { + where: DataTypesScalarWhereInput + data: XOR + } + + export type DataTypesScalarWhereInput = { + AND?: Enumerable + OR?: Enumerable + NOT?: Enumerable + id?: IntFilter | number + date?: DateTimeNullableFilter | Date | string | null + time?: DateTimeNullableFilter | Date | string | null + timetz?: DateTimeNullableFilter | Date | string | null + timestamp?: DateTimeNullableFilter | Date | string | null + timestamptz?: DateTimeNullableFilter | Date | string | null + bool?: BoolNullableFilter | boolean | null + uuid?: UuidNullableFilter | string | null + int2?: IntNullableFilter | number | null + int4?: IntNullableFilter | number | null + int8?: BigIntNullableFilter | bigint | number | null + float4?: FloatNullableFilter | number | null + float8?: FloatNullableFilter | number | null + json?: JsonNullableFilter + bytea?: BytesNullableFilter | Buffer | null + relatedId?: IntNullableFilter | number | null + } + + export type PostCreateManyAuthorInput = { + id: number + title: string + contents: string + nbr?: number | null + } + + export type PostUpdateWithoutAuthorInput = { + id?: IntFieldUpdateOperationsInput | number + title?: StringFieldUpdateOperationsInput | string + contents?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type PostUncheckedUpdateWithoutAuthorInput = { + id?: IntFieldUpdateOperationsInput | number + title?: StringFieldUpdateOperationsInput | string + contents?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type PostUncheckedUpdateManyWithoutPostsInput = { + id?: IntFieldUpdateOperationsInput | number + title?: StringFieldUpdateOperationsInput | string + contents?: StringFieldUpdateOperationsInput | string + nbr?: NullableIntFieldUpdateOperationsInput | number | null + } + + export type DataTypesCreateManyRelatedInput = { + id: number + date?: Date | string | null + time?: Date | string | null + timetz?: Date | string | null + timestamp?: Date | string | null + timestamptz?: Date | string | null + bool?: boolean | null + uuid?: string | null + int2?: number | null + int4?: number | null + int8?: bigint | number | null + float4?: number | null + float8?: number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: Buffer | null + } + + export type DataTypesUpdateWithoutRelatedInput = { + id?: IntFieldUpdateOperationsInput | number + date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + time?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timetz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamptz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + bool?: NullableBoolFieldUpdateOperationsInput | boolean | null + uuid?: NullableStringFieldUpdateOperationsInput | string | null + int2?: NullableIntFieldUpdateOperationsInput | number | null + int4?: NullableIntFieldUpdateOperationsInput | number | null + int8?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + float4?: NullableFloatFieldUpdateOperationsInput | number | null + float8?: NullableFloatFieldUpdateOperationsInput | number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: NullableBytesFieldUpdateOperationsInput | Buffer | null + } + + export type DataTypesUncheckedUpdateWithoutRelatedInput = { + id?: IntFieldUpdateOperationsInput | number + date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + time?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timetz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamptz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + bool?: NullableBoolFieldUpdateOperationsInput | boolean | null + uuid?: NullableStringFieldUpdateOperationsInput | string | null + int2?: NullableIntFieldUpdateOperationsInput | number | null + int4?: NullableIntFieldUpdateOperationsInput | number | null + int8?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + float4?: NullableFloatFieldUpdateOperationsInput | number | null + float8?: NullableFloatFieldUpdateOperationsInput | number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: NullableBytesFieldUpdateOperationsInput | Buffer | null + } + + export type DataTypesUncheckedUpdateManyWithoutDatatypeInput = { + id?: IntFieldUpdateOperationsInput | number + date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + time?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timetz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamp?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + timestamptz?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + bool?: NullableBoolFieldUpdateOperationsInput | boolean | null + uuid?: NullableStringFieldUpdateOperationsInput | string | null + int2?: NullableIntFieldUpdateOperationsInput | number | null + int4?: NullableIntFieldUpdateOperationsInput | number | null + int8?: NullableBigIntFieldUpdateOperationsInput | bigint | number | null + float4?: NullableFloatFieldUpdateOperationsInput | number | null + float8?: NullableFloatFieldUpdateOperationsInput | number | null + json?: NullableJsonNullValueInput | InputJsonValue + bytea?: NullableBytesFieldUpdateOperationsInput | Buffer | null + } + + + + /** + * Batch Payload for updateMany & deleteMany & createMany + */ + + export type BatchPayload = { + count: number + } + + /** + * DMMF + */ + export const dmmf: runtime.BaseDMMF +} + +type Buffer = Omit diff --git a/components/toolbar/test/mocks.ts b/components/toolbar/test/mocks.ts new file mode 100644 index 0000000000..e8de0de0b0 --- /dev/null +++ b/components/toolbar/test/mocks.ts @@ -0,0 +1,24 @@ +export class MockIndexDB { + private deleted: string[] + + constructor() { + this.deleted = [] + } + + deleteDatabase(name: string): IDBOpenDBRequest { + this.deleted.push(name) + return new MockDeleteRequest() as unknown as IDBOpenDBRequest + } + + deletedDatabases(): string[] { + return this.deleted + } +} + +export class MockDeleteRequest { + constructor(public onsuccess: () => void = () => {}) {} +} + +export class MockLocation { + reload(): void {} +} diff --git a/components/toolbar/tsconfig.build.json b/components/toolbar/tsconfig.build.json new file mode 100644 index 0000000000..f7f077038f --- /dev/null +++ b/components/toolbar/tsconfig.build.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "composite": false, + "rootDir": "src", + "declaration": true, + "noEmit": false, + "emitDeclarationOnly": true, + "incremental": false + }, + "extends": "./tsconfig.json", + "include": ["src"] +} diff --git a/components/toolbar/tsconfig.json b/components/toolbar/tsconfig.json new file mode 100644 index 0000000000..451a6cd350 --- /dev/null +++ b/components/toolbar/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "allowJs": true, + "allowSyntheticDefaultImports": true, + "alwaysStrict": true, + "checkJs": false, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "incremental": false, + "isolatedModules": true, + "jsx": "preserve", + "lib": ["ESNext", "DOM"], + "module": "ESNext", + "moduleResolution": "bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "outDir": "dist", + "resolveJsonModule": true, + "rootDir": "", + "skipLibCheck": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "target": "ESNext" + }, + "include": ["src/**/*", "test/**/*", "vitest.config.ts"] +} diff --git a/components/toolbar/vitest.config.ts b/components/toolbar/vitest.config.ts new file mode 100644 index 0000000000..68e3449dc6 --- /dev/null +++ b/components/toolbar/vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + environment: 'jsdom', + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34b2dadc0c..bc81515326 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -279,6 +279,61 @@ importers: components/electric: {} + components/toolbar: + dependencies: + codemirror: + specifier: ^5.65.16 + version: 5.65.16 + react: + specifier: ^18.2.0 + version: 18.2.0 + react-codemirror2: + specifier: ^8.0.0 + version: 8.0.0(codemirror@5.65.16)(react@18.2.0) + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@types/better-sqlite3': + specifier: 7.6.3 + version: 7.6.3 + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + '@types/react': + specifier: ^18.2.0 + version: 18.2.7 + '@types/react-dom': + specifier: ^18.2.0 + version: 18.2.25 + better-sqlite3: + specifier: ^8.4.0 + version: 8.4.0 + electric-sql: + specifier: workspace:* + version: link:../../clients/typescript + esbuild: + specifier: ^0.20.2 + version: 0.20.2 + esbuild-plugin-inline-image: + specifier: ^0.0.9 + version: 0.0.9 + esbuild-plugin-inline-import: + specifier: ^1.0.4 + version: 1.0.4 + jsdom: + specifier: 24.0.0 + version: 24.0.0 + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + vitest: + specifier: ^1.5.0 + version: 1.5.0(@types/node@20.12.7)(jsdom@24.0.0) + e2e/satellite_client: dependencies: better-sqlite3: @@ -3430,6 +3485,15 @@ packages: engines: {node: '>=0.1.90'} dev: false + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.17.19: resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} @@ -3466,6 +3530,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.15.18: resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} engines: {node: '>=12'} @@ -3511,6 +3584,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.17.19: resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} @@ -3547,6 +3629,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.17.19: resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} @@ -3583,6 +3674,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.17.19: resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} @@ -3619,6 +3719,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.17.19: resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} @@ -3655,6 +3764,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.17.19: resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} @@ -3691,6 +3809,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.17.19: resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} @@ -3727,6 +3854,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.17.19: resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} @@ -3763,6 +3899,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.17.19: resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} @@ -3799,6 +3944,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.15.18: resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} engines: {node: '>=12'} @@ -3844,6 +3998,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.17.19: resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} @@ -3880,6 +4043,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.17.19: resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} @@ -3916,6 +4088,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.17.19: resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} @@ -3952,6 +4133,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.17.19: resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} @@ -3988,6 +4178,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.17.19: resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} @@ -4024,6 +4223,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.17.19: resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -4060,6 +4268,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.17.19: resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -4096,6 +4313,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.17.19: resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} @@ -4132,6 +4358,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.17.19: resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} @@ -4168,6 +4403,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.17.19: resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} @@ -4204,6 +4448,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.17.19: resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} @@ -4240,6 +4493,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.41.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4762,6 +5024,13 @@ packages: dependencies: '@jest/types': 27.5.1 + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + /@jest/types@26.6.2: resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} engines: {node: '>= 10.14.2'} @@ -4856,7 +5125,7 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 node-fetch: 2.6.11 @@ -5656,6 +5925,14 @@ packages: picomatch: 2.3.1 dev: true + /@rollup/rollup-android-arm-eabi@4.16.4: + resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm-eabi@4.8.0: resolution: {integrity: sha512-zdTObFRoNENrdPpnTNnhOljYIcOX7aI7+7wyrSpPFFIOf/nRdedE6IYsjaBE7tjukphh1tMTojgJ7p3lKY8x6Q==} cpu: [arm] @@ -5664,6 +5941,14 @@ packages: dev: true optional: true + /@rollup/rollup-android-arm64@4.16.4: + resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm64@4.8.0: resolution: {integrity: sha512-aiItwP48BiGpMFS9Znjo/xCNQVwTQVcRKkFKsO81m8exrGjHkCBDvm9PHay2kpa8RPnZzzKcD1iQ9KaLY4fPQQ==} cpu: [arm64] @@ -5672,6 +5957,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-arm64@4.16.4: + resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-arm64@4.8.0: resolution: {integrity: sha512-zhNIS+L4ZYkYQUjIQUR6Zl0RXhbbA0huvNIWjmPc2SL0cB1h5Djkcy+RZ3/Bwszfb6vgwUvcVJYD6e6Zkpsi8g==} cpu: [arm64] @@ -5680,6 +5973,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-x64@4.16.4: + resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-x64@4.8.0: resolution: {integrity: sha512-A/FAHFRNQYrELrb/JHncRWzTTXB2ticiRFztP4ggIUAfa9Up1qfW8aG2w/mN9jNiZ+HB0t0u0jpJgFXG6BfRTA==} cpu: [x64] @@ -5688,6 +5989,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.16.4: + resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.8.0: resolution: {integrity: sha512-JsidBnh3p2IJJA4/2xOF2puAYqbaczB3elZDT0qHxn362EIoIkq7hrR43Xa8RisgI6/WPfvb2umbGsuvf7E37A==} cpu: [arm] @@ -5696,6 +6005,22 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-musleabihf@4.16.4: + resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.16.4: + resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-gnu@4.8.0: resolution: {integrity: sha512-hBNCnqw3EVCkaPB0Oqd24bv8SklETptQWcJz06kb9OtiShn9jK1VuTgi7o4zPSt6rNGWQOTDEAccbk0OqJmS+g==} cpu: [arm64] @@ -5704,6 +6029,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm64-musl@4.16.4: + resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-musl@4.8.0: resolution: {integrity: sha512-Fw9ChYfJPdltvi9ALJ9wzdCdxGw4wtq4t1qY028b2O7GwB5qLNSGtqMsAel1lfWTZvf4b6/+4HKp0GlSYg0ahA==} cpu: [arm64] @@ -5712,6 +6045,22 @@ packages: dev: true optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.16.4: + resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.16.4: + resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-riscv64-gnu@4.8.0: resolution: {integrity: sha512-BH5xIh7tOzS9yBi8dFrCTG8Z6iNIGWGltd3IpTSKp6+pNWWO6qy8eKoRxOtwFbMrid5NZaidLYN6rHh9aB8bEw==} cpu: [riscv64] @@ -5720,6 +6069,22 @@ packages: dev: true optional: true + /@rollup/rollup-linux-s390x-gnu@4.16.4: + resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.16.4: + resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-x64-gnu@4.8.0: resolution: {integrity: sha512-PmvAj8k6EuWiyLbkNpd6BLv5XeYFpqWuRvRNRl80xVfpGXK/z6KYXmAgbI4ogz7uFiJxCnYcqyvZVD0dgFog7Q==} cpu: [x64] @@ -5728,6 +6093,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-x64-musl@4.16.4: + resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-x64-musl@4.8.0: resolution: {integrity: sha512-mdxnlW2QUzXwY+95TuxZ+CurrhgrPAMveDWI97EQlA9bfhR8tw3Pt7SUlc/eSlCNxlWktpmT//EAA8UfCHOyXg==} cpu: [x64] @@ -5736,6 +6109,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.16.4: + resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-arm64-msvc@4.8.0: resolution: {integrity: sha512-ge7saUz38aesM4MA7Cad8CHo0Fyd1+qTaqoIo+Jtk+ipBi4ATSrHWov9/S4u5pbEQmLjgUjB7BJt+MiKG2kzmA==} cpu: [arm64] @@ -5744,6 +6125,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.16.4: + resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-ia32-msvc@4.8.0: resolution: {integrity: sha512-p9E3PZlzurhlsN5h9g7zIP1DnqKXJe8ZUkFwAazqSvHuWfihlIISPxG9hCHCoA+dOOspL/c7ty1eeEVFTE0UTw==} cpu: [ia32] @@ -5752,6 +6141,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-x64-msvc@4.16.4: + resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-x64-msvc@4.8.0: resolution: {integrity: sha512-kb4/auKXkYKqlUYTE8s40FcJIj5soOyRLHKd4ugR0dCq0G2EfcF54eYcfQiGkHzjidZ40daB4ulsFdtqNKZtBg==} cpu: [x64] @@ -5778,6 +6175,10 @@ packages: /@sideway/pinpoint@2.0.0: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + /@sindresorhus/is@5.4.0: resolution: {integrity: sha512-Ggh6E9AnMpiNXlbXfFUcWE9qm408rL8jDi7+PMBBx7TMbwEmiqAiSmZ+zydYwxcJLqPGNDoLc9mXDuMDBZg0sA==} engines: {node: '>=14.16'} @@ -5839,7 +6240,7 @@ packages: dependencies: '@babel/runtime': 7.22.3 '@testing-library/dom': 8.20.0 - '@types/react-dom': 18.2.4 + '@types/react-dom': 18.2.25 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -5856,7 +6257,7 @@ packages: dependencies: esbuild: 0.17.19 pkg: 5.8.1 - typescript: 5.4.3 + typescript: 5.4.5 transitivePeerDependencies: - encoding - node-notifier @@ -5874,23 +6275,23 @@ packages: /@types/better-sqlite3@7.6.3: resolution: {integrity: sha512-YS64N9SNDT/NAvou3QNdzAu3E2om/W/0dhORimtPGLef+zSK5l1vDzfsWb4xgXOgfhtOI5ZDTRxnvRPb22AIVQ==} dependencies: - '@types/node': 18.16.16 + '@types/node': 20.12.7 dev: true - /@types/chai-subset@1.3.3: - resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + /@types/chai-subset@1.3.5: + resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} dependencies: - '@types/chai': 4.3.5 + '@types/chai': 4.3.14 dev: true - /@types/chai@4.3.5: - resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} + /@types/chai@4.3.14: + resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} dev: true /@types/cross-spawn@6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 18.16.16 + '@types/node': 20.12.7 /@types/debug@4.1.8: resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} @@ -5903,11 +6304,15 @@ packages: '@types/node': 18.16.16 dev: true + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.16.16 + '@types/node': 20.12.7 dev: true /@types/graceful-fs@4.1.6: @@ -5953,7 +6358,7 @@ packages: /@types/jsonwebtoken@9.0.2: resolution: {integrity: sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q==} dependencies: - '@types/node': 18.16.16 + '@types/node': 16.18.34 dev: true /@types/live-server@1.2.1: @@ -6044,17 +6449,10 @@ packages: /@types/node@18.16.16: resolution: {integrity: sha512-NpaM49IGQQAUlBhHMF82QH80J08os4ZmyF9MkpCzWAGuOHqE4gTEbhzd7L3l5LmWuZ6E0OiC1FweQ4tsiW35+g==} - /@types/node@20.11.19: - resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} - dependencies: - undici-types: 5.26.5 - dev: false - /@types/node@20.12.7: resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 - dev: true /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -6074,8 +6472,8 @@ packages: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: true - /@types/react-dom@18.2.4: - resolution: {integrity: sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==} + /@types/react-dom@18.2.25: + resolution: {integrity: sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==} dependencies: '@types/react': 18.2.7 dev: true @@ -6107,7 +6505,7 @@ packages: resolution: {integrity: sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==} dependencies: '@types/glob': 7.2.0 - '@types/node': 18.16.16 + '@types/node': 20.12.7 dev: true /@types/tcp-port-used@1.0.2: @@ -6558,6 +6956,45 @@ packages: - supports-color dev: true + /@vitest/expect@1.5.0: + resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==} + dependencies: + '@vitest/spy': 1.5.0 + '@vitest/utils': 1.5.0 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.5.0: + resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==} + dependencies: + '@vitest/utils': 1.5.0 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.5.0: + resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.5.0: + resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.5.0: + resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + /@volar/language-core@1.11.1: resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: @@ -7563,7 +8000,7 @@ packages: requiresBuild: true dependencies: bindings: 1.5.0 - prebuild-install: 7.1.1 + prebuild-install: 7.1.2 /big-integer@1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} @@ -7947,15 +8384,15 @@ packages: nofilter: 3.1.0 dev: true - /chai@4.3.7: - resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 - check-error: 1.0.2 + check-error: 1.0.3 deep-eql: 4.1.3 - get-func-name: 2.0.0 - loupe: 2.3.6 + get-func-name: 2.0.2 + loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 dev: true @@ -7991,8 +8428,10 @@ packages: resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} dev: true - /check-error@1.0.2: - resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 dev: true /checkpoint-client@1.1.24: @@ -8234,6 +8673,10 @@ packages: convert-to-spaces: 2.0.1 dev: true + /codemirror@5.65.16: + resolution: {integrity: sha512-br21LjYmSlVL0vFCPWPfhzUCT34FM/pAdK7rRIZwa0rrtrIdotvP4Oh4GUHsu2E3IrQMCfRkL/fN3ytMNxVQvg==} + dev: false + /collection-visit@1.0.0: resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} engines: {node: '>=0.10.0'} @@ -8392,6 +8835,10 @@ packages: yargs: 17.7.2 dev: true + /confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + dev: true + /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -8996,6 +9443,16 @@ packages: /detect-libc@2.0.1: resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} engines: {node: '>=8'} + dev: true + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -9476,6 +9933,14 @@ packages: dev: true optional: true + /esbuild-plugin-inline-image@0.0.9: + resolution: {integrity: sha512-pw3ZgN2phh32Z7BpKrhRDtmI+iVCl+Gc0BLOT9croXg1MnMjRuN7aXhIQirhLeK39erkIwfFlhy6xieroBGc1Q==} + dev: true + + /esbuild-plugin-inline-import@1.0.4: + resolution: {integrity: sha512-ULt6a6Tsk8eIGaB6FjiJuqvQtql2WKYK3arMCDXatqKsifNDNgKrLq8WwavxEUPpZiNortaOvejzVikLQsM5iw==} + dev: true + /esbuild-sunos-64@0.15.18: resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} engines: {node: '>=12'} @@ -9662,6 +10127,37 @@ packages: '@esbuild/win32-x64': 0.19.9 dev: true + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -10081,6 +10577,12 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -10144,6 +10646,21 @@ packages: strip-final-newline: 3.0.0 dev: true + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + /expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -10811,8 +11328,8 @@ packages: resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} engines: {node: '>=18'} - /get-func-name@2.0.0: - resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true /get-intrinsic@1.2.1: @@ -10863,6 +11380,11 @@ packages: engines: {node: '>=10'} dev: true + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} @@ -11370,6 +11892,11 @@ packages: engines: {node: '>=14.18.0'} dev: true + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + /husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} @@ -12215,6 +12742,10 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + /js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + dev: true + /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -12312,7 +12843,7 @@ packages: http-proxy-agent: 7.0.1 https-proxy-agent: 7.0.3 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 + nwsapi: 2.2.9 parse5: 7.1.2 rrweb-cssom: 0.6.0 saxes: 6.0.0 @@ -12706,6 +13237,14 @@ packages: engines: {node: '>=14'} dev: true + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.1.0 + dev: true + /localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} dependencies: @@ -12892,10 +13431,10 @@ packages: dependencies: js-tokens: 4.0.0 - /loupe@2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: - get-func-name: 2.0.0 + get-func-name: 2.0.2 dev: true /lowercase-keys@3.0.0: @@ -12955,7 +13494,7 @@ packages: engines: {node: '>=6'} dependencies: pify: 4.0.1 - semver: 5.7.1 + semver: 5.7.2 /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} @@ -13597,6 +14136,15 @@ packages: hasBin: true dev: true + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.1.0 + ufo: 1.5.3 + dev: true + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -13645,12 +14193,6 @@ packages: thenify-all: 1.6.0 dev: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -13733,6 +14275,13 @@ packages: engines: {node: '>=10'} dependencies: semver: 7.6.0 + dev: true + + /node-abi@3.61.0: + resolution: {integrity: sha512-dYDO1rxzvMXjEMi37PBeFuYgwh3QZpsw/jt+qOmnRSwiV4z4c+OLoRlTa3V8ID4TrkSQpzCVc9OI2sstFaINfQ==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 /node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} @@ -13930,8 +14479,8 @@ packages: /nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - /nwsapi@2.2.7: - resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + /nwsapi@2.2.9: + resolution: {integrity: sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==} dev: true /ob1@0.67.0: @@ -14123,7 +14672,7 @@ packages: levn: 0.3.0 prelude-ls: 1.1.2 type-check: 0.3.2 - word-wrap: 1.2.3 + word-wrap: 1.2.5 dev: true /optionator@0.9.1: @@ -14284,6 +14833,13 @@ packages: yocto-queue: 1.0.0 dev: true + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} @@ -14538,6 +15094,10 @@ packages: engines: {node: '>=12'} dev: true + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true @@ -14636,6 +15196,14 @@ packages: - supports-color dev: true + /pkg-types@1.1.0: + resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + dependencies: + confbox: 0.1.7 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + /pkg@5.8.1: resolution: {integrity: sha512-CjBWtFStCfIiT4Bde9QpJy0KeH19jCfwZRJqHFDFXfhUklCx8JoFmMj3wgnEYIwGmZVNkhsStPHEOnrtrQhEXA==} hasBin: true @@ -14724,15 +15292,6 @@ packages: yaml: 2.3.4 dev: true - /postcss@8.4.24: - resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - /postcss@8.4.35: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} @@ -14772,6 +15331,25 @@ packages: simple-get: 4.0.1 tar-fs: 2.1.1 tunnel-agent: 0.6.0 + dev: true + + /prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.61.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 /preferred-pm@3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} @@ -14840,6 +15418,15 @@ packages: react-is: 17.0.2 dev: true + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + /pretty-ms@7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} @@ -14967,7 +15554,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.11.19 + '@types/node': 18.16.16 long: 5.2.3 dev: false @@ -15013,11 +15600,6 @@ packages: end-of-stream: 1.4.4 once: 1.4.0 - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -15075,6 +15657,16 @@ packages: minimist: 1.2.8 strip-json-comments: 2.0.1 + /react-codemirror2@8.0.0(codemirror@5.65.16)(react@18.2.0): + resolution: {integrity: sha512-JIbhXoghvX0BrasIoCQvRxBPIU78plfjF1Buz0gaMFvZXwEDjkCYBkQhucoOtudQ7ikbB1jJUnmCsutElti7yA==} + peerDependencies: + codemirror: 5.x + react: '>=15.5 <=18.x' + dependencies: + codemirror: 5.65.16 + react: 18.2.0 + dev: false + /react-devtools-core@4.27.8: resolution: {integrity: sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw==} dependencies: @@ -15092,7 +15684,6 @@ packages: loose-envify: 1.4.0 react: 18.2.0 scheduler: 0.23.0 - dev: true /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -15100,6 +15691,10 @@ packages: /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + /react-native-codegen@0.0.13(@babel/preset-env@7.24.4): resolution: {integrity: sha512-rCh1P+s0Q4N6vNgS97ckafbhJRztz22+0l0VZoyQC06F07J98kI5cUByH0ATypPRIdpkMbAZc59DoPdDFc01bg==} dependencies: @@ -15629,6 +16224,32 @@ packages: fsevents: 2.3.3 dev: true + /rollup@4.16.4: + resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.16.4 + '@rollup/rollup-android-arm64': 4.16.4 + '@rollup/rollup-darwin-arm64': 4.16.4 + '@rollup/rollup-darwin-x64': 4.16.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.16.4 + '@rollup/rollup-linux-arm-musleabihf': 4.16.4 + '@rollup/rollup-linux-arm64-gnu': 4.16.4 + '@rollup/rollup-linux-arm64-musl': 4.16.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4 + '@rollup/rollup-linux-riscv64-gnu': 4.16.4 + '@rollup/rollup-linux-s390x-gnu': 4.16.4 + '@rollup/rollup-linux-x64-gnu': 4.16.4 + '@rollup/rollup-linux-x64-musl': 4.16.4 + '@rollup/rollup-win32-arm64-msvc': 4.16.4 + '@rollup/rollup-win32-ia32-msvc': 4.16.4 + '@rollup/rollup-win32-x64-msvc': 4.16.4 + fsevents: 2.3.3 + dev: true + /rollup@4.8.0: resolution: {integrity: sha512-NpsklK2fach5CdI+PScmlE5R4Ao/FSWtF7LkoIrHDxPACY/xshNasPsbpG0VVHxUTbf74tJbVT4PrP8JsJ6ZDA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -15747,7 +16368,6 @@ packages: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 - dev: true /seek-bzip@1.0.6: resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} @@ -15770,7 +16390,6 @@ packages: /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - dev: true /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} @@ -15978,6 +16597,10 @@ packages: object-inspect: 1.13.1 dev: true + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -16254,6 +16877,10 @@ packages: escape-string-regexp: 2.0.0 dev: true + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} @@ -16278,6 +16905,10 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + /stdin-discarder@0.1.0: resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -16479,7 +17110,13 @@ packages: /strip-literal@0.4.2: resolution: {integrity: sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==} dependencies: - acorn: 8.8.2 + acorn: 8.11.3 + dev: true + + /strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + dependencies: + js-tokens: 9.0.0 dev: true /structured-headers@0.4.1: @@ -16758,8 +17395,8 @@ packages: resolution: {integrity: sha512-EijGsv7kzd9I9g0ByCl6h42BWNGUZrlCSejfrb3AKeHC33SGbASu1VDf5O3rRiiUOhAC9CHdZxFPbZu0HmR70A==} dev: true - /tinybench@2.5.0: - resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} + /tinybench@2.8.0: + resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} dev: true /tinypool@0.3.1: @@ -16767,11 +17404,21 @@ packages: engines: {node: '>=14.0.0'} dev: true + /tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} + dev: true + /tinyspy@1.1.1: resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} engines: {node: '>=14.0.0'} dev: true + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} @@ -16845,7 +17492,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: true @@ -17319,6 +17966,10 @@ packages: resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} dev: true + /ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + dev: true + /uglify-es@3.3.9: resolution: {integrity: sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==} engines: {node: '>=0.8.0'} @@ -17586,8 +18237,29 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vite@3.2.7(@types/node@18.16.16): - resolution: {integrity: sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==} + /vite-node@1.5.0(@types/node@20.12.7): + resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4(supports-color@5.5.0) + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.10(@types/node@20.12.7) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@3.2.10(@types/node@20.12.7): + resolution: {integrity: sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -17611,15 +18283,51 @@ packages: terser: optional: true dependencies: - '@types/node': 18.16.16 + '@types/node': 20.12.7 esbuild: 0.15.18 - postcss: 8.4.24 - resolve: 1.22.2 + postcss: 8.4.38 + resolve: 1.22.8 rollup: 2.79.1 optionalDependencies: fsevents: 2.3.3 dev: true + /vite@5.2.10(@types/node@20.12.7): + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.12.7 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.16.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vitest@0.24.5: resolution: {integrity: sha512-zw6JhPUHtLILQDe5Q39b/SzoITkG+R7hcFjuthp4xsi6zpmfQPOZcHodZ+3bqoWl4EdGK/p1fuMiEwdxgbGLOA==} engines: {node: '>=v14.16.0'} @@ -17642,19 +18350,76 @@ packages: jsdom: optional: true dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 - '@types/node': 18.16.16 - chai: 4.3.7 + '@types/chai': 4.3.14 + '@types/chai-subset': 1.3.5 + '@types/node': 20.12.7 + chai: 4.4.1 debug: 4.3.4(supports-color@5.5.0) local-pkg: 0.4.3 strip-literal: 0.4.2 - tinybench: 2.5.0 + tinybench: 2.8.0 tinypool: 0.3.1 tinyspy: 1.1.1 - vite: 3.2.7(@types/node@18.16.16) + vite: 3.2.10(@types/node@20.12.7) + transitivePeerDependencies: + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vitest@1.5.0(@types/node@20.12.7)(jsdom@24.0.0): + resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.5.0 + '@vitest/ui': 1.5.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.12.7 + '@vitest/expect': 1.5.0 + '@vitest/runner': 1.5.0 + '@vitest/snapshot': 1.5.0 + '@vitest/spy': 1.5.0 + '@vitest/utils': 1.5.0 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4(supports-color@5.5.0) + execa: 8.0.1 + jsdom: 24.0.0 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + tinybench: 2.8.0 + tinypool: 0.8.4 + vite: 5.2.10(@types/node@20.12.7) + vite-node: 1.5.0(@types/node@20.12.7) + why-is-node-running: 2.2.2 transitivePeerDependencies: - less + - lightningcss - sass - stylus - sugarss @@ -17871,6 +18636,15 @@ packages: dependencies: isexe: 2.0.0 + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: @@ -17916,6 +18690,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: true + /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index de5401ab69..6cb42ea79b 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,3 +5,4 @@ packages: - 'examples/_testing' - 'generator' - 'components/electric' + - 'components/toolbar'