From 443275333c271f0516d884154890bff238283e09 Mon Sep 17 00:00:00 2001 From: Kebo Date: Sun, 15 Jun 2025 22:36:10 -0500 Subject: [PATCH] i really need to get this outta here so i can work on the main site lol --- .gitignore | 1 - .vscode/settings.json | 10 + astro.config.mjs | 4 +- .../2025-05-08T00-01-52.106Z.sql | 59 + .../2025-05-08T00-05-07.154Z.sql | 1 + .../2025-05-08T00-08-30.399Z.sql | 9 + .../2025-05-08T00-17-29.914Z.sql | 1 + drizzle.config.ts | 11 + generated/prisma/client.d.ts | 1 + generated/prisma/client.js | 4 + generated/prisma/default.d.ts | 1 + generated/prisma/default.js | 4 + generated/prisma/edge.d.ts | 1 + generated/prisma/edge.js | 256 + generated/prisma/index-browser.js | 242 + generated/prisma/index.d.ts | 9458 +++++++++++++++++ generated/prisma/index.js | 277 + .../libquery_engine-darwin-arm64.dylib.node | Bin 0 -> 19007328 bytes generated/prisma/package.json | 140 + generated/prisma/runtime/edge-esm.js | 34 + generated/prisma/runtime/edge.js | 34 + generated/prisma/runtime/index-browser.d.ts | 370 + generated/prisma/runtime/index-browser.js | 16 + generated/prisma/runtime/library.d.ts | 3647 +++++++ generated/prisma/runtime/library.js | 146 + generated/prisma/runtime/react-native.js | 83 + generated/prisma/runtime/wasm.js | 35 + generated/prisma/schema.prisma | 82 + generated/prisma/wasm.d.ts | 1 + generated/prisma/wasm.js | 242 + package.json | 26 +- pnpm-lock.yaml | 1284 ++- prisma/schema.prisma | 133 + public/eleboog_button.jpg | Bin 0 -> 3527 bytes public/eleboog_button_light.jpg | Bin 0 -> 3245 bytes src/actions/index.ts | 31 + src/components/Comments.astro | 106 + src/components/Header.astro | 13 +- src/components/Icon.astro | 2 +- src/components/mdx/MDXTableOfContents.astro | 113 + src/content/posts/2025-03-11-jwl-03.mdx | 47 + src/content/posts/2025-03-19-jwl-gunsmith.mdx | 159 + .../posts/2025-04-01-i-am-the-fool.mdx | 19 + .../posts/2025-04-24-small-socials.mdx | 20 + .../posts/2030-01-01-comment-mockup.mdx | 8 + src/env.d.ts | 10 +- src/layouts/PostLayout.astro | 2 + src/lib/auth-client.ts | 11 + src/lib/auth.ts | 30 + src/lib/prisma.ts | 7 + src/middleware.ts | 19 + src/pages/account/login.astro | 65 + src/pages/account/settings/index.astro | 85 + src/pages/api/auth/[...all].ts | 6 + src/pages/fun/mdxsheet.mdx | 95 + src/pages/help/passkeys.mdx | 180 + src/styles/markdown.css | 12 + src/svg/FaDiscord.svg | 1 + src/svg/FaGitHub.svg | 1 + src/svg/FaGoogle.svg | 1 + {public/auth => src/svg}/passkey.svg | 0 61 files changed, 17603 insertions(+), 53 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 better-auth_migrations/2025-05-08T00-01-52.106Z.sql create mode 100644 better-auth_migrations/2025-05-08T00-05-07.154Z.sql create mode 100644 better-auth_migrations/2025-05-08T00-08-30.399Z.sql create mode 100644 better-auth_migrations/2025-05-08T00-17-29.914Z.sql create mode 100644 drizzle.config.ts create mode 100644 generated/prisma/client.d.ts create mode 100644 generated/prisma/client.js create mode 100644 generated/prisma/default.d.ts create mode 100644 generated/prisma/default.js create mode 100644 generated/prisma/edge.d.ts create mode 100644 generated/prisma/edge.js create mode 100644 generated/prisma/index-browser.js create mode 100644 generated/prisma/index.d.ts create mode 100644 generated/prisma/index.js create mode 100755 generated/prisma/libquery_engine-darwin-arm64.dylib.node create mode 100644 generated/prisma/package.json create mode 100644 generated/prisma/runtime/edge-esm.js create mode 100644 generated/prisma/runtime/edge.js create mode 100644 generated/prisma/runtime/index-browser.d.ts create mode 100644 generated/prisma/runtime/index-browser.js create mode 100644 generated/prisma/runtime/library.d.ts create mode 100644 generated/prisma/runtime/library.js create mode 100644 generated/prisma/runtime/react-native.js create mode 100644 generated/prisma/runtime/wasm.js create mode 100644 generated/prisma/schema.prisma create mode 100644 generated/prisma/wasm.d.ts create mode 100644 generated/prisma/wasm.js create mode 100644 prisma/schema.prisma create mode 100644 public/eleboog_button.jpg create mode 100644 public/eleboog_button_light.jpg create mode 100644 src/actions/index.ts create mode 100644 src/components/Comments.astro create mode 100644 src/components/mdx/MDXTableOfContents.astro create mode 100644 src/content/posts/2025-03-11-jwl-03.mdx create mode 100644 src/content/posts/2025-03-19-jwl-gunsmith.mdx create mode 100644 src/content/posts/2025-04-01-i-am-the-fool.mdx create mode 100644 src/content/posts/2025-04-24-small-socials.mdx create mode 100644 src/content/posts/2030-01-01-comment-mockup.mdx create mode 100644 src/lib/auth-client.ts create mode 100644 src/lib/auth.ts create mode 100644 src/lib/prisma.ts create mode 100644 src/middleware.ts create mode 100644 src/pages/account/login.astro create mode 100644 src/pages/account/settings/index.astro create mode 100644 src/pages/api/auth/[...all].ts create mode 100644 src/pages/fun/mdxsheet.mdx create mode 100644 src/pages/help/passkeys.mdx create mode 100644 src/svg/FaDiscord.svg create mode 100644 src/svg/FaGitHub.svg create mode 100644 src/svg/FaGoogle.svg rename {public/auth => src/svg}/passkey.svg (100%) diff --git a/.gitignore b/.gitignore index 16d54bb..f52a46e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,6 @@ yarn-debug.log* yarn-error.log* pnpm-debug.log* - # environment variables .env .env.production diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..683a3b7 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "inlineChat.lineNaturalLanguageHint": false, + "workbench.editor.empty.hint": "hidden", + "github.copilot.enable": { + "*": false, + "plaintext": false, + "markdown": false, + "scminput": false + } +} \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs index e8ccc5d..e0b6131 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -23,6 +23,8 @@ const m2dxOptions = { export default defineConfig({ site: "https://eleboog.com", + output: 'server', + vite: { ssr: { external: ['prismjs'], @@ -52,8 +54,6 @@ export default defineConfig({ rehypePlugins: [rehypeSlug, [rehypeMdxCodeProps, {tagName: 'code'}]], }), icon()], - output: 'server', - adapter: node({ mode: 'standalone' }) diff --git a/better-auth_migrations/2025-05-08T00-01-52.106Z.sql b/better-auth_migrations/2025-05-08T00-01-52.106Z.sql new file mode 100644 index 0000000..000474e --- /dev/null +++ b/better-auth_migrations/2025-05-08T00-01-52.106Z.sql @@ -0,0 +1,59 @@ +alter table "user" add column "emailVerified" boolean not null; + +alter table "user" add column "createdAt" timestamp not null; + +alter table "user" add column "updatedAt" timestamp not null; + +alter table "user" add column "username" text unique; + +alter table "user" add column "displayUsername" text; + +alter table "user" add column "role" text; + +alter table "user" add column "banned" boolean; + +alter table "user" add column "banReason" text; + +alter table "user" add column "banExpires" timestamp; + +alter table "session" add column "expiresAt" timestamp not null; + +alter table "session" add column "createdAt" timestamp not null; + +alter table "session" add column "updatedAt" timestamp not null; + +alter table "session" add column "ipAddress" text; + +alter table "session" add column "userAgent" text; + +alter table "session" add column "userId" text not null references "user" ("id"); + +alter table "session" add column "impersonatedBy" text; + +alter table "account" add column "accountId" text not null; + +alter table "account" add column "providerId" text not null; + +alter table "account" add column "userId" text not null references "user" ("id"); + +alter table "account" add column "accessToken" text; + +alter table "account" add column "refreshToken" text; + +alter table "account" add column "idToken" text; + +alter table "account" add column "accessTokenExpiresAt" timestamp; + +alter table "account" add column "refreshTokenExpiresAt" timestamp; + +alter table "account" add column "createdAt" timestamp not null; + +alter table "account" add column "updatedAt" timestamp not null; + +alter table "verification" add column "expiresAt" timestamp not null; + +alter table "verification" add column "createdAt" timestamp; + +alter table "verification" add column "updatedAt" timestamp; + +create table "passkey" ("id" text not null primary key, "name" text, "publicKey" text not null, "userId" text not null references "user" ("id"), "credentialID" text not null, "counter" integer not null, "deviceType" text not null, "backedUp" boolean not null, "transports" text, "createdAt" timestamp); \ No newline at end of file diff --git a/better-auth_migrations/2025-05-08T00-05-07.154Z.sql b/better-auth_migrations/2025-05-08T00-05-07.154Z.sql new file mode 100644 index 0000000..1c8a0e7 --- /dev/null +++ b/better-auth_migrations/2025-05-08T00-05-07.154Z.sql @@ -0,0 +1 @@ +; \ No newline at end of file diff --git a/better-auth_migrations/2025-05-08T00-08-30.399Z.sql b/better-auth_migrations/2025-05-08T00-08-30.399Z.sql new file mode 100644 index 0000000..a11056a --- /dev/null +++ b/better-auth_migrations/2025-05-08T00-08-30.399Z.sql @@ -0,0 +1,9 @@ +create table "user" ("id" text not null primary key, "name" text not null, "email" text not null unique, "emailVerified" boolean not null, "image" text, "createdAt" timestamp not null, "updatedAt" timestamp not null, "username" text unique, "displayUsername" text, "role" text, "banned" boolean, "banReason" text, "banExpires" timestamp); + +create table "session" ("id" text not null primary key, "expiresAt" timestamp not null, "token" text not null unique, "createdAt" timestamp not null, "updatedAt" timestamp not null, "ipAddress" text, "userAgent" text, "userId" text not null references "user" ("id"), "impersonatedBy" text); + +create table "account" ("id" text not null primary key, "accountId" text not null, "providerId" text not null, "userId" text not null references "user" ("id"), "accessToken" text, "refreshToken" text, "idToken" text, "accessTokenExpiresAt" timestamp, "refreshTokenExpiresAt" timestamp, "scope" text, "password" text, "createdAt" timestamp not null, "updatedAt" timestamp not null); + +create table "verification" ("id" text not null primary key, "identifier" text not null, "value" text not null, "expiresAt" timestamp not null, "createdAt" timestamp, "updatedAt" timestamp); + +create table "passkey" ("id" text not null primary key, "name" text, "publicKey" text not null, "userId" text not null references "user" ("id"), "credentialID" text not null, "counter" integer not null, "deviceType" text not null, "backedUp" boolean not null, "transports" text, "createdAt" timestamp); \ No newline at end of file diff --git a/better-auth_migrations/2025-05-08T00-17-29.914Z.sql b/better-auth_migrations/2025-05-08T00-17-29.914Z.sql new file mode 100644 index 0000000..1c8a0e7 --- /dev/null +++ b/better-auth_migrations/2025-05-08T00-17-29.914Z.sql @@ -0,0 +1 @@ +; \ No newline at end of file diff --git a/drizzle.config.ts b/drizzle.config.ts new file mode 100644 index 0000000..0b5c1c9 --- /dev/null +++ b/drizzle.config.ts @@ -0,0 +1,11 @@ +import 'dotenv/config'; +import { defineConfig } from 'drizzle-kit'; + +export default defineConfig({ + out: './drizzle', + schema: './src/db/schema.ts', + dialect: 'postgresql', + dbCredentials: { + url: process.env.DATABASE_URL!, + }, +}); diff --git a/generated/prisma/client.d.ts b/generated/prisma/client.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/generated/prisma/client.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/generated/prisma/client.js b/generated/prisma/client.js new file mode 100644 index 0000000..72afab7 --- /dev/null +++ b/generated/prisma/client.js @@ -0,0 +1,4 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +module.exports = { ...require('.') } \ No newline at end of file diff --git a/generated/prisma/default.d.ts b/generated/prisma/default.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/generated/prisma/default.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/generated/prisma/default.js b/generated/prisma/default.js new file mode 100644 index 0000000..72afab7 --- /dev/null +++ b/generated/prisma/default.js @@ -0,0 +1,4 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +module.exports = { ...require('.') } \ No newline at end of file diff --git a/generated/prisma/edge.d.ts b/generated/prisma/edge.d.ts new file mode 100644 index 0000000..274b8fa --- /dev/null +++ b/generated/prisma/edge.d.ts @@ -0,0 +1 @@ +export * from "./default" \ No newline at end of file diff --git a/generated/prisma/edge.js b/generated/prisma/edge.js new file mode 100644 index 0000000..aa8e8e7 --- /dev/null +++ b/generated/prisma/edge.js @@ -0,0 +1,256 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/edge.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.7.0 + * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + */ +Prisma.prismaVersion = { + client: "6.7.0", + engine: "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.AccountScalarFieldEnum = { + id: 'id', + accountId: 'accountId', + providerId: 'providerId', + userId: 'userId', + accessToken: 'accessToken', + refreshToken: 'refreshToken', + idToken: 'idToken', + accessTokenExpiresAt: 'accessTokenExpiresAt', + refreshTokenExpiresAt: 'refreshTokenExpiresAt', + scope: 'scope', + password: 'password', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.PasskeyScalarFieldEnum = { + id: 'id', + name: 'name', + publicKey: 'publicKey', + userId: 'userId', + credentialID: 'credentialID', + counter: 'counter', + deviceType: 'deviceType', + backedUp: 'backedUp', + transports: 'transports', + createdAt: 'createdAt' +}; + +exports.Prisma.SessionScalarFieldEnum = { + id: 'id', + expiresAt: 'expiresAt', + token: 'token', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + ipAddress: 'ipAddress', + userAgent: 'userAgent', + userId: 'userId', + impersonatedBy: 'impersonatedBy' +}; + +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + emailVerified: 'emailVerified', + image: 'image', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + username: 'username', + displayUsername: 'displayUsername', + role: 'role', + banned: 'banned', + banReason: 'banReason', + banExpires: 'banExpires' +}; + +exports.Prisma.VerificationScalarFieldEnum = { + id: 'id', + identifier: 'identifier', + value: 'value', + expiresAt: 'expiresAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; + + +exports.Prisma.ModelName = { + account: 'account', + passkey: 'passkey', + session: 'session', + user: 'user', + verification: 'verification' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "client", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "/Users/twentykal/Documents/git/eleboog-astro/generated/prisma", + "fromEnvVar": null + }, + "config": { + "engineType": "library" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "darwin-arm64", + "native": true + } + ], + "previewFeatures": [], + "sourceFilePath": "/Users/twentykal/Documents/git/eleboog-astro/prisma/schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": "../../.env", + "schemaEnvPath": "../../.env" + }, + "relativePath": "../../prisma", + "clientVersion": "6.7.0", + "engineVersion": "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "postinstall": false, + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n directUrl = env(\"DIRECT_URL\")\n}\n\nmodel account {\n id String @id\n accountId String\n providerId String\n userId String\n accessToken String?\n refreshToken String?\n idToken String?\n accessTokenExpiresAt DateTime? @db.Timestamp(6)\n refreshTokenExpiresAt DateTime? @db.Timestamp(6)\n scope String?\n password String?\n createdAt DateTime @db.Timestamp(6)\n updatedAt DateTime @db.Timestamp(6)\n user user @relation(fields: [userId], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel passkey {\n id String @id\n name String?\n publicKey String\n userId String\n credentialID String\n counter Int\n deviceType String\n backedUp Boolean\n transports String?\n createdAt DateTime? @db.Timestamp(6)\n user user @relation(fields: [userId], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel session {\n id String @id\n expiresAt DateTime @db.Timestamp(6)\n token String @unique\n createdAt DateTime @db.Timestamp(6)\n updatedAt DateTime @db.Timestamp(6)\n ipAddress String?\n userAgent String?\n userId String\n impersonatedBy String?\n user user @relation(fields: [userId], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel user {\n id String @id\n name String\n email String @unique\n emailVerified Boolean\n image String?\n createdAt DateTime @db.Timestamp(6)\n updatedAt DateTime @db.Timestamp(6)\n username String? @unique\n displayUsername String?\n role String?\n banned Boolean?\n banReason String?\n banExpires DateTime? @db.Timestamp(6)\n account account[]\n passkey passkey[]\n session session[]\n}\n\nmodel verification {\n id String @id\n identifier String\n value String\n expiresAt DateTime @db.Timestamp(6)\n createdAt DateTime? @db.Timestamp(6)\n updatedAt DateTime? @db.Timestamp(6)\n}\n", + "inlineSchemaHash": "3b86d26f7f8d8cac00318809c32f1d7aee4890f15043f29678a32ae30763c02e", + "copyEngine": true +} +config.dirname = '/' + +config.runtimeDataModel = JSON.parse("{\"models\":{\"account\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accountId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accessToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"refreshToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"idToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accessTokenExpiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"refreshTokenExpiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scope\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"user\",\"nativeType\":null,\"relationName\":\"accountTouser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"NoAction\",\"relationOnUpdate\":\"NoAction\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"passkey\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"publicKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"credentialID\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"counter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"backedUp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transports\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"user\",\"nativeType\":null,\"relationName\":\"passkeyTouser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"NoAction\",\"relationOnUpdate\":\"NoAction\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"session\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"impersonatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"user\",\"nativeType\":null,\"relationName\":\"sessionTouser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"NoAction\",\"relationOnUpdate\":\"NoAction\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"user\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"image\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"displayUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"banned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"banReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"banExpires\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"account\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"account\",\"nativeType\":null,\"relationName\":\"accountTouser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passkey\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"passkey\",\"nativeType\":null,\"relationName\":\"passkeyTouser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"session\",\"nativeType\":null,\"relationName\":\"sessionTouser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"verification\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identifier\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = undefined +config.compilerWasm = undefined + +config.injectableEdgeEnv = () => ({ + parsed: { + DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined + } +}) + +if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) { + Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) +} + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + diff --git a/generated/prisma/index-browser.js b/generated/prisma/index-browser.js new file mode 100644 index 0000000..aa77658 --- /dev/null +++ b/generated/prisma/index-browser.js @@ -0,0 +1,242 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + Decimal, + objectEnumValues, + makeStrictEnum, + Public, + getRuntime, + skip +} = require('./runtime/index-browser.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.7.0 + * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + */ +Prisma.prismaVersion = { + client: "6.7.0", + engine: "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed" +} + +Prisma.PrismaClientKnownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)}; +Prisma.PrismaClientUnknownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientRustPanicError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientInitializationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientValidationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.empty = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.join = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.raw = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.defineExtension = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + +/** + * Enums + */ + +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.AccountScalarFieldEnum = { + id: 'id', + accountId: 'accountId', + providerId: 'providerId', + userId: 'userId', + accessToken: 'accessToken', + refreshToken: 'refreshToken', + idToken: 'idToken', + accessTokenExpiresAt: 'accessTokenExpiresAt', + refreshTokenExpiresAt: 'refreshTokenExpiresAt', + scope: 'scope', + password: 'password', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.PasskeyScalarFieldEnum = { + id: 'id', + name: 'name', + publicKey: 'publicKey', + userId: 'userId', + credentialID: 'credentialID', + counter: 'counter', + deviceType: 'deviceType', + backedUp: 'backedUp', + transports: 'transports', + createdAt: 'createdAt' +}; + +exports.Prisma.SessionScalarFieldEnum = { + id: 'id', + expiresAt: 'expiresAt', + token: 'token', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + ipAddress: 'ipAddress', + userAgent: 'userAgent', + userId: 'userId', + impersonatedBy: 'impersonatedBy' +}; + +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + emailVerified: 'emailVerified', + image: 'image', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + username: 'username', + displayUsername: 'displayUsername', + role: 'role', + banned: 'banned', + banReason: 'banReason', + banExpires: 'banExpires' +}; + +exports.Prisma.VerificationScalarFieldEnum = { + id: 'id', + identifier: 'identifier', + value: 'value', + expiresAt: 'expiresAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; + + +exports.Prisma.ModelName = { + account: 'account', + passkey: 'passkey', + session: 'session', + user: 'user', + verification: 'verification' +}; + +/** + * This is a stub Prisma Client that will error at runtime if called. + */ +class PrismaClient { + constructor() { + return new Proxy(this, { + get(target, prop) { + let message + const runtime = getRuntime() + if (runtime.isEdge) { + message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either: +- Use Prisma Accelerate: https://pris.ly/d/accelerate +- Use Driver Adapters: https://pris.ly/d/driver-adapters +`; + } else { + message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).' + } + + message += ` +If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report` + + throw new Error(message) + } + }) + } +} + +exports.PrismaClient = PrismaClient + +Object.assign(exports, Prisma) diff --git a/generated/prisma/index.d.ts b/generated/prisma/index.d.ts new file mode 100644 index 0000000..e3504f8 --- /dev/null +++ b/generated/prisma/index.d.ts @@ -0,0 +1,9458 @@ + +/** + * Client +**/ + +import * as runtime from './runtime/library.js'; +import $Types = runtime.Types // general types +import $Public = runtime.Types.Public +import $Utils = runtime.Types.Utils +import $Extensions = runtime.Types.Extensions +import $Result = runtime.Types.Result + +export type PrismaPromise = $Public.PrismaPromise + + +/** + * Model account + * + */ +export type account = $Result.DefaultSelection +/** + * Model passkey + * + */ +export type passkey = $Result.DefaultSelection +/** + * Model session + * + */ +export type session = $Result.DefaultSelection +/** + * Model user + * + */ +export type user = $Result.DefaultSelection +/** + * Model verification + * + */ +export type verification = $Result.DefaultSelection + +/** + * ## Prisma Client ʲˢ + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Accounts + * const accounts = await prisma.account.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ +export class PrismaClient< + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, + ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs +> { + [K: symbol]: { types: Prisma.TypeMap['other'] } + + /** + * ## Prisma Client ʲˢ + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Accounts + * const accounts = await prisma.account.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 : Prisma.LogEvent) => void): PrismaClient; + + /** + * Connect with the database + */ + $connect(): $Utils.JsPromise; + + /** + * Disconnect from the database + */ + $disconnect(): $Utils.JsPromise; + + /** + * Add a middleware + * @deprecated since 4.16.0. For new code, prefer client extensions instead. + * @see https://pris.ly/d/extensions + */ + $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[]): Prisma.PrismaPromise; + + /** + * Executes a raw query and returns the number of affected rows. + * Susceptible to SQL injections, see documentation. + * @example + * ``` + * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + /** + * Performs a prepared raw query and returns the `SELECT` data. + * @example + * ``` + * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * Performs a raw query and returns the `SELECT` data. + * Susceptible to SQL injections, see documentation. + * @example + * ``` + * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + + /** + * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. + * @example + * ``` + * const [george, bob, alice] = await prisma.$transaction([ + * prisma.user.create({ data: { name: 'George' } }), + * prisma.user.create({ data: { name: 'Bob' } }), + * prisma.user.create({ data: { name: 'Alice' } }), + * ]) + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). + */ + $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> + + $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise + + + $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, { + extArgs: ExtArgs + }>> + + /** + * `prisma.account`: Exposes CRUD operations for the **account** model. + * Example usage: + * ```ts + * // Fetch zero or more Accounts + * const accounts = await prisma.account.findMany() + * ``` + */ + get account(): Prisma.accountDelegate; + + /** + * `prisma.passkey`: Exposes CRUD operations for the **passkey** model. + * Example usage: + * ```ts + * // Fetch zero or more Passkeys + * const passkeys = await prisma.passkey.findMany() + * ``` + */ + get passkey(): Prisma.passkeyDelegate; + + /** + * `prisma.session`: Exposes CRUD operations for the **session** model. + * Example usage: + * ```ts + * // Fetch zero or more Sessions + * const sessions = await prisma.session.findMany() + * ``` + */ + get session(): Prisma.sessionDelegate; + + /** + * `prisma.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.verification`: Exposes CRUD operations for the **verification** model. + * Example usage: + * ```ts + * // Fetch zero or more Verifications + * const verifications = await prisma.verification.findMany() + * ``` + */ + get verification(): Prisma.verificationDelegate; +} + +export namespace Prisma { + export import DMMF = runtime.DMMF + + export type PrismaPromise = $Public.PrismaPromise + + /** + * Validator + */ + export import validator = runtime.Public.validator + + /** + * 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 + + /** + * 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 + + /** + * Extensions + */ + export import Extension = $Extensions.UserArgs + export import getExtensionContext = runtime.Extensions.getExtensionContext + export import Args = $Public.Args + export import Payload = $Public.Payload + export import Result = $Public.Result + export import Exact = $Public.Exact + + /** + * Prisma Client JS version: 6.7.0 + * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + */ + export type PrismaVersion = { + client: string + } + + export const prismaVersion: PrismaVersion + + /** + * Utility Types + */ + + + export import JsonObject = runtime.JsonObject + export import JsonArray = runtime.JsonArray + export import JsonValue = runtime.JsonValue + export import InputJsonObject = runtime.InputJsonObject + export import InputJsonArray = runtime.InputJsonArray + export import InputJsonValue = runtime.InputJsonValue + + /** + * 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 SelectAndOmit = { + select: any + omit: any + } + + /** + * 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 $Utils.JsPromise> = 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`.' + : T extends SelectAndOmit + ? 'Please either choose `select` or `omit`.' + : {}) + + /** + * Subset + Intersection + * @desc From `T` pick properties that exist in `U` and intersect `K` + */ + export type SubsetIntersection = { + [key in keyof T]: key extends keyof U ? T[key] : never + } & + K + + type Without = { [P in Exclude]?: never }; + + /** + * XOR is needed to have a real mutually exclusive union type + * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types + */ + 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 ? P : never]-?: O[P]} & O + : never>; + + type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; + + export type Strict = ComputeRaw<_Strict>; + /** End Helper Types for "Merge" **/ + + export type Merge = ComputeRaw<_Merge>>; + + /** + 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 Cast = A extends B ? A : B; + + export const type: unique symbol; + + + + /** + * 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 additionally can also accept an array of keys + */ + type PickEnumerable | keyof T> = 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 + + + export const ModelName: { + account: 'account', + passkey: 'passkey', + session: 'session', + user: 'user', + verification: 'verification' + }; + + export type ModelName = (typeof ModelName)[keyof typeof ModelName] + + + export type Datasources = { + db?: Datasource + } + + interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record> { + returns: Prisma.TypeMap + } + + export type TypeMap = { + globalOmitOptions: { + omit: GlobalOmitOptions + } + meta: { + modelProps: "account" | "passkey" | "session" | "user" | "verification" + txIsolationLevel: Prisma.TransactionIsolationLevel + } + model: { + account: { + payload: Prisma.$accountPayload + fields: Prisma.accountFieldRefs + operations: { + findUnique: { + args: Prisma.accountFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.accountFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.accountFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.accountFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.accountFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.accountCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.accountCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.accountCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.accountDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.accountUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.accountDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.accountUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.accountUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.accountUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.AccountAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.accountGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.accountCountArgs + result: $Utils.Optional | number + } + } + } + passkey: { + payload: Prisma.$passkeyPayload + fields: Prisma.passkeyFieldRefs + operations: { + findUnique: { + args: Prisma.passkeyFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.passkeyFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.passkeyFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.passkeyFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.passkeyFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.passkeyCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.passkeyCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.passkeyCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.passkeyDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.passkeyUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.passkeyDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.passkeyUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.passkeyUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.passkeyUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.PasskeyAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.passkeyGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.passkeyCountArgs + result: $Utils.Optional | number + } + } + } + session: { + payload: Prisma.$sessionPayload + fields: Prisma.sessionFieldRefs + operations: { + findUnique: { + args: Prisma.sessionFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.sessionFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.sessionFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.sessionFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.sessionFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.sessionCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.sessionCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.sessionCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.sessionDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.sessionUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.sessionDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.sessionUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.sessionUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.sessionUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.SessionAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.sessionGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.sessionCountArgs + result: $Utils.Optional | number + } + } + } + user: { + payload: Prisma.$userPayload + fields: Prisma.userFieldRefs + operations: { + findUnique: { + args: Prisma.userFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.userFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.userFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.userFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.userFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.userCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.userCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.userCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.userDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.userUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.userDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.userUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.userUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.userUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.UserAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.userGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.userCountArgs + result: $Utils.Optional | number + } + } + } + verification: { + payload: Prisma.$verificationPayload + fields: Prisma.verificationFieldRefs + operations: { + findUnique: { + args: Prisma.verificationFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.verificationFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.verificationFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.verificationFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.verificationFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.verificationCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.verificationCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.verificationCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.verificationDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.verificationUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.verificationDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.verificationUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.verificationUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.verificationUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.VerificationAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.verificationGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.verificationCountArgs + result: $Utils.Optional | number + } + } + } + } + } & { + other: { + payload: any + operations: { + $executeRaw: { + args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], + result: any + } + $executeRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + $queryRaw: { + args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], + result: any + } + $queryRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + } + } + } + export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> + export type DefaultPrismaClient = PrismaClient + export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' + export interface PrismaClientOptions { + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasources?: Datasources + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasourceUrl?: string + /** + * @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?: (LogLevel | LogDefinition)[] + /** + * The default values for transactionOptions + * maxWait ?= 2000 + * timeout ?= 5000 + */ + transactionOptions?: { + maxWait?: number + timeout?: number + isolationLevel?: Prisma.TransactionIsolationLevel + } + /** + * Global configuration for omitting model fields by default. + * + * @example + * ``` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * ``` + */ + omit?: Prisma.GlobalOmitConfig + } + export type GlobalOmitConfig = { + account?: accountOmit + passkey?: passkeyOmit + session?: sessionOmit + user?: userOmit + verification?: verificationOmit + } + + /* 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' + | 'findUniqueOrThrow' + | 'findMany' + | 'findFirst' + | 'findFirstOrThrow' + | 'create' + | 'createMany' + | 'createManyAndReturn' + | 'update' + | 'updateMany' + | 'updateManyAndReturn' + | 'upsert' + | 'delete' + | 'deleteMany' + | 'executeRaw' + | 'queryRaw' + | 'aggregate' + | 'count' + | 'runCommandRaw' + | 'findRaw' + | 'groupBy' + + /** + * 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) => $Utils.JsPromise, + ) => $Utils.JsPromise + + // 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 = { + account: number + passkey: number + session: number + } + + export type UserCountOutputTypeSelect = { + account?: boolean | UserCountOutputTypeCountAccountArgs + passkey?: boolean | UserCountOutputTypeCountPasskeyArgs + session?: boolean | UserCountOutputTypeCountSessionArgs + } + + // Custom InputTypes + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the UserCountOutputType + */ + select?: UserCountOutputTypeSelect | null + } + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountAccountArgs = { + where?: accountWhereInput + } + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountPasskeyArgs = { + where?: passkeyWhereInput + } + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountSessionArgs = { + where?: sessionWhereInput + } + + + /** + * Models + */ + + /** + * Model account + */ + + export type AggregateAccount = { + _count: AccountCountAggregateOutputType | null + _min: AccountMinAggregateOutputType | null + _max: AccountMaxAggregateOutputType | null + } + + export type AccountMinAggregateOutputType = { + id: string | null + accountId: string | null + providerId: string | null + userId: string | null + accessToken: string | null + refreshToken: string | null + idToken: string | null + accessTokenExpiresAt: Date | null + refreshTokenExpiresAt: Date | null + scope: string | null + password: string | null + createdAt: Date | null + updatedAt: Date | null + } + + export type AccountMaxAggregateOutputType = { + id: string | null + accountId: string | null + providerId: string | null + userId: string | null + accessToken: string | null + refreshToken: string | null + idToken: string | null + accessTokenExpiresAt: Date | null + refreshTokenExpiresAt: Date | null + scope: string | null + password: string | null + createdAt: Date | null + updatedAt: Date | null + } + + export type AccountCountAggregateOutputType = { + id: number + accountId: number + providerId: number + userId: number + accessToken: number + refreshToken: number + idToken: number + accessTokenExpiresAt: number + refreshTokenExpiresAt: number + scope: number + password: number + createdAt: number + updatedAt: number + _all: number + } + + + export type AccountMinAggregateInputType = { + id?: true + accountId?: true + providerId?: true + userId?: true + accessToken?: true + refreshToken?: true + idToken?: true + accessTokenExpiresAt?: true + refreshTokenExpiresAt?: true + scope?: true + password?: true + createdAt?: true + updatedAt?: true + } + + export type AccountMaxAggregateInputType = { + id?: true + accountId?: true + providerId?: true + userId?: true + accessToken?: true + refreshToken?: true + idToken?: true + accessTokenExpiresAt?: true + refreshTokenExpiresAt?: true + scope?: true + password?: true + createdAt?: true + updatedAt?: true + } + + export type AccountCountAggregateInputType = { + id?: true + accountId?: true + providerId?: true + userId?: true + accessToken?: true + refreshToken?: true + idToken?: true + accessTokenExpiresAt?: true + refreshTokenExpiresAt?: true + scope?: true + password?: true + createdAt?: true + updatedAt?: true + _all?: true + } + + export type AccountAggregateArgs = { + /** + * Filter which account to aggregate. + */ + where?: accountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of accounts to fetch. + */ + orderBy?: accountOrderByWithRelationInput | accountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: accountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned accounts + **/ + _count?: true | AccountCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: AccountMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: AccountMaxAggregateInputType + } + + export type GetAccountAggregateType = { + [P in keyof T & keyof AggregateAccount]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type accountGroupByArgs = { + where?: accountWhereInput + orderBy?: accountOrderByWithAggregationInput | accountOrderByWithAggregationInput[] + by: AccountScalarFieldEnum[] | AccountScalarFieldEnum + having?: accountScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: AccountCountAggregateInputType | true + _min?: AccountMinAggregateInputType + _max?: AccountMaxAggregateInputType + } + + export type AccountGroupByOutputType = { + id: string + accountId: string + providerId: string + userId: string + accessToken: string | null + refreshToken: string | null + idToken: string | null + accessTokenExpiresAt: Date | null + refreshTokenExpiresAt: Date | null + scope: string | null + password: string | null + createdAt: Date + updatedAt: Date + _count: AccountCountAggregateOutputType | null + _min: AccountMinAggregateOutputType | null + _max: AccountMaxAggregateOutputType | null + } + + type GetAccountGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof AccountGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type accountSelect = $Extensions.GetSelect<{ + id?: boolean + accountId?: boolean + providerId?: boolean + userId?: boolean + accessToken?: boolean + refreshToken?: boolean + idToken?: boolean + accessTokenExpiresAt?: boolean + refreshTokenExpiresAt?: boolean + scope?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["account"]> + + export type accountSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + accountId?: boolean + providerId?: boolean + userId?: boolean + accessToken?: boolean + refreshToken?: boolean + idToken?: boolean + accessTokenExpiresAt?: boolean + refreshTokenExpiresAt?: boolean + scope?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["account"]> + + export type accountSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + accountId?: boolean + providerId?: boolean + userId?: boolean + accessToken?: boolean + refreshToken?: boolean + idToken?: boolean + accessTokenExpiresAt?: boolean + refreshTokenExpiresAt?: boolean + scope?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["account"]> + + export type accountSelectScalar = { + id?: boolean + accountId?: boolean + providerId?: boolean + userId?: boolean + accessToken?: boolean + refreshToken?: boolean + idToken?: boolean + accessTokenExpiresAt?: boolean + refreshTokenExpiresAt?: boolean + scope?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean + } + + export type accountOmit = $Extensions.GetOmit<"id" | "accountId" | "providerId" | "userId" | "accessToken" | "refreshToken" | "idToken" | "accessTokenExpiresAt" | "refreshTokenExpiresAt" | "scope" | "password" | "createdAt" | "updatedAt", ExtArgs["result"]["account"]> + export type accountInclude = { + user?: boolean | userDefaultArgs + } + export type accountIncludeCreateManyAndReturn = { + user?: boolean | userDefaultArgs + } + export type accountIncludeUpdateManyAndReturn = { + user?: boolean | userDefaultArgs + } + + export type $accountPayload = { + name: "account" + objects: { + user: Prisma.$userPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + accountId: string + providerId: string + userId: string + accessToken: string | null + refreshToken: string | null + idToken: string | null + accessTokenExpiresAt: Date | null + refreshTokenExpiresAt: Date | null + scope: string | null + password: string | null + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["account"]> + composites: {} + } + + type accountGetPayload = $Result.GetResult + + type accountCountArgs = + Omit & { + select?: AccountCountAggregateInputType | true + } + + export interface accountDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['account'], meta: { name: 'account' } } + /** + * Find zero or one Account that matches the filter. + * @param {accountFindUniqueArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__accountClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Account that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {accountFindUniqueOrThrowArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__accountClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Account that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {accountFindFirstArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__accountClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Account that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {accountFindFirstOrThrowArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__accountClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Accounts that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {accountFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Accounts + * const accounts = await prisma.account.findMany() + * + * // Get first 10 Accounts + * const accounts = await prisma.account.findMany({ take: 10 }) + * + * // Only select the `id` + * const accountWithIdOnly = await prisma.account.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Account. + * @param {accountCreateArgs} args - Arguments to create a Account. + * @example + * // Create one Account + * const Account = await prisma.account.create({ + * data: { + * // ... data to create a Account + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__accountClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Accounts. + * @param {accountCreateManyArgs} args - Arguments to create many Accounts. + * @example + * // Create many Accounts + * const account = await prisma.account.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Accounts and returns the data saved in the database. + * @param {accountCreateManyAndReturnArgs} args - Arguments to create many Accounts. + * @example + * // Create many Accounts + * const account = await prisma.account.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Accounts and only return the `id` + * const accountWithIdOnly = await prisma.account.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Account. + * @param {accountDeleteArgs} args - Arguments to delete one Account. + * @example + * // Delete one Account + * const Account = await prisma.account.delete({ + * where: { + * // ... filter to delete one Account + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__accountClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Account. + * @param {accountUpdateArgs} args - Arguments to update one Account. + * @example + * // Update one Account + * const account = await prisma.account.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__accountClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Accounts. + * @param {accountDeleteManyArgs} args - Arguments to filter Accounts to delete. + * @example + * // Delete a few Accounts + * const { count } = await prisma.account.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Accounts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {accountUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Accounts + * const account = await prisma.account.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Accounts and returns the data updated in the database. + * @param {accountUpdateManyAndReturnArgs} args - Arguments to update many Accounts. + * @example + * // Update many Accounts + * const account = await prisma.account.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Accounts and only return the `id` + * const accountWithIdOnly = await prisma.account.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Account. + * @param {accountUpsertArgs} args - Arguments to update or create a Account. + * @example + * // Update or create a Account + * const account = await prisma.account.upsert({ + * create: { + * // ... data to create a Account + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Account we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__accountClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Accounts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {accountCountArgs} args - Arguments to filter Accounts to count. + * @example + * // Count the number of Accounts + * const count = await prisma.account.count({ + * where: { + * // ... the filter for the Accounts we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Account. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Account. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {accountGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends accountGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: accountGroupByArgs['orderBy'] } + : { orderBy?: accountGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + 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 ? GetAccountGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the account model + */ + readonly fields: accountFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for account. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__accountClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__userClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the account model + */ + interface accountFieldRefs { + readonly id: FieldRef<"account", 'String'> + readonly accountId: FieldRef<"account", 'String'> + readonly providerId: FieldRef<"account", 'String'> + readonly userId: FieldRef<"account", 'String'> + readonly accessToken: FieldRef<"account", 'String'> + readonly refreshToken: FieldRef<"account", 'String'> + readonly idToken: FieldRef<"account", 'String'> + readonly accessTokenExpiresAt: FieldRef<"account", 'DateTime'> + readonly refreshTokenExpiresAt: FieldRef<"account", 'DateTime'> + readonly scope: FieldRef<"account", 'String'> + readonly password: FieldRef<"account", 'String'> + readonly createdAt: FieldRef<"account", 'DateTime'> + readonly updatedAt: FieldRef<"account", 'DateTime'> + } + + + // Custom InputTypes + /** + * account findUnique + */ + export type accountFindUniqueArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * Filter, which account to fetch. + */ + where: accountWhereUniqueInput + } + + /** + * account findUniqueOrThrow + */ + export type accountFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * Filter, which account to fetch. + */ + where: accountWhereUniqueInput + } + + /** + * account findFirst + */ + export type accountFindFirstArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * Filter, which account to fetch. + */ + where?: accountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of accounts to fetch. + */ + orderBy?: accountOrderByWithRelationInput | accountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for accounts. + */ + cursor?: accountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of accounts. + */ + distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] + } + + /** + * account findFirstOrThrow + */ + export type accountFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * Filter, which account to fetch. + */ + where?: accountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of accounts to fetch. + */ + orderBy?: accountOrderByWithRelationInput | accountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for accounts. + */ + cursor?: accountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of accounts. + */ + distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] + } + + /** + * account findMany + */ + export type accountFindManyArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * Filter, which accounts to fetch. + */ + where?: accountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of accounts to fetch. + */ + orderBy?: accountOrderByWithRelationInput | accountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing accounts. + */ + cursor?: accountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` accounts. + */ + skip?: number + distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] + } + + /** + * account create + */ + export type accountCreateArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * The data needed to create a account. + */ + data: XOR + } + + /** + * account createMany + */ + export type accountCreateManyArgs = { + /** + * The data used to create many accounts. + */ + data: accountCreateManyInput | accountCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * account createManyAndReturn + */ + export type accountCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelectCreateManyAndReturn | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * The data used to create many accounts. + */ + data: accountCreateManyInput | accountCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: accountIncludeCreateManyAndReturn | null + } + + /** + * account update + */ + export type accountUpdateArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * The data needed to update a account. + */ + data: XOR + /** + * Choose, which account to update. + */ + where: accountWhereUniqueInput + } + + /** + * account updateMany + */ + export type accountUpdateManyArgs = { + /** + * The data used to update accounts. + */ + data: XOR + /** + * Filter which accounts to update + */ + where?: accountWhereInput + /** + * Limit how many accounts to update. + */ + limit?: number + } + + /** + * account updateManyAndReturn + */ + export type accountUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * The data used to update accounts. + */ + data: XOR + /** + * Filter which accounts to update + */ + where?: accountWhereInput + /** + * Limit how many accounts to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: accountIncludeUpdateManyAndReturn | null + } + + /** + * account upsert + */ + export type accountUpsertArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * The filter to search for the account to update in case it exists. + */ + where: accountWhereUniqueInput + /** + * In case the account found by the `where` argument doesn't exist, create a new account with this data. + */ + create: XOR + /** + * In case the account was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * account delete + */ + export type accountDeleteArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + /** + * Filter which account to delete. + */ + where: accountWhereUniqueInput + } + + /** + * account deleteMany + */ + export type accountDeleteManyArgs = { + /** + * Filter which accounts to delete + */ + where?: accountWhereInput + /** + * Limit how many accounts to delete. + */ + limit?: number + } + + /** + * account without action + */ + export type accountDefaultArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + } + + + /** + * Model passkey + */ + + export type AggregatePasskey = { + _count: PasskeyCountAggregateOutputType | null + _avg: PasskeyAvgAggregateOutputType | null + _sum: PasskeySumAggregateOutputType | null + _min: PasskeyMinAggregateOutputType | null + _max: PasskeyMaxAggregateOutputType | null + } + + export type PasskeyAvgAggregateOutputType = { + counter: number | null + } + + export type PasskeySumAggregateOutputType = { + counter: number | null + } + + export type PasskeyMinAggregateOutputType = { + id: string | null + name: string | null + publicKey: string | null + userId: string | null + credentialID: string | null + counter: number | null + deviceType: string | null + backedUp: boolean | null + transports: string | null + createdAt: Date | null + } + + export type PasskeyMaxAggregateOutputType = { + id: string | null + name: string | null + publicKey: string | null + userId: string | null + credentialID: string | null + counter: number | null + deviceType: string | null + backedUp: boolean | null + transports: string | null + createdAt: Date | null + } + + export type PasskeyCountAggregateOutputType = { + id: number + name: number + publicKey: number + userId: number + credentialID: number + counter: number + deviceType: number + backedUp: number + transports: number + createdAt: number + _all: number + } + + + export type PasskeyAvgAggregateInputType = { + counter?: true + } + + export type PasskeySumAggregateInputType = { + counter?: true + } + + export type PasskeyMinAggregateInputType = { + id?: true + name?: true + publicKey?: true + userId?: true + credentialID?: true + counter?: true + deviceType?: true + backedUp?: true + transports?: true + createdAt?: true + } + + export type PasskeyMaxAggregateInputType = { + id?: true + name?: true + publicKey?: true + userId?: true + credentialID?: true + counter?: true + deviceType?: true + backedUp?: true + transports?: true + createdAt?: true + } + + export type PasskeyCountAggregateInputType = { + id?: true + name?: true + publicKey?: true + userId?: true + credentialID?: true + counter?: true + deviceType?: true + backedUp?: true + transports?: true + createdAt?: true + _all?: true + } + + export type PasskeyAggregateArgs = { + /** + * Filter which passkey to aggregate. + */ + where?: passkeyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of passkeys to fetch. + */ + orderBy?: passkeyOrderByWithRelationInput | passkeyOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: passkeyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` passkeys 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` passkeys. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned passkeys + **/ + _count?: true | PasskeyCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: PasskeyAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: PasskeySumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PasskeyMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PasskeyMaxAggregateInputType + } + + export type GetPasskeyAggregateType = { + [P in keyof T & keyof AggregatePasskey]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type passkeyGroupByArgs = { + where?: passkeyWhereInput + orderBy?: passkeyOrderByWithAggregationInput | passkeyOrderByWithAggregationInput[] + by: PasskeyScalarFieldEnum[] | PasskeyScalarFieldEnum + having?: passkeyScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PasskeyCountAggregateInputType | true + _avg?: PasskeyAvgAggregateInputType + _sum?: PasskeySumAggregateInputType + _min?: PasskeyMinAggregateInputType + _max?: PasskeyMaxAggregateInputType + } + + export type PasskeyGroupByOutputType = { + id: string + name: string | null + publicKey: string + userId: string + credentialID: string + counter: number + deviceType: string + backedUp: boolean + transports: string | null + createdAt: Date | null + _count: PasskeyCountAggregateOutputType | null + _avg: PasskeyAvgAggregateOutputType | null + _sum: PasskeySumAggregateOutputType | null + _min: PasskeyMinAggregateOutputType | null + _max: PasskeyMaxAggregateOutputType | null + } + + type GetPasskeyGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof PasskeyGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type passkeySelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + publicKey?: boolean + userId?: boolean + credentialID?: boolean + counter?: boolean + deviceType?: boolean + backedUp?: boolean + transports?: boolean + createdAt?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["passkey"]> + + export type passkeySelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + publicKey?: boolean + userId?: boolean + credentialID?: boolean + counter?: boolean + deviceType?: boolean + backedUp?: boolean + transports?: boolean + createdAt?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["passkey"]> + + export type passkeySelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + publicKey?: boolean + userId?: boolean + credentialID?: boolean + counter?: boolean + deviceType?: boolean + backedUp?: boolean + transports?: boolean + createdAt?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["passkey"]> + + export type passkeySelectScalar = { + id?: boolean + name?: boolean + publicKey?: boolean + userId?: boolean + credentialID?: boolean + counter?: boolean + deviceType?: boolean + backedUp?: boolean + transports?: boolean + createdAt?: boolean + } + + export type passkeyOmit = $Extensions.GetOmit<"id" | "name" | "publicKey" | "userId" | "credentialID" | "counter" | "deviceType" | "backedUp" | "transports" | "createdAt", ExtArgs["result"]["passkey"]> + export type passkeyInclude = { + user?: boolean | userDefaultArgs + } + export type passkeyIncludeCreateManyAndReturn = { + user?: boolean | userDefaultArgs + } + export type passkeyIncludeUpdateManyAndReturn = { + user?: boolean | userDefaultArgs + } + + export type $passkeyPayload = { + name: "passkey" + objects: { + user: Prisma.$userPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string | null + publicKey: string + userId: string + credentialID: string + counter: number + deviceType: string + backedUp: boolean + transports: string | null + createdAt: Date | null + }, ExtArgs["result"]["passkey"]> + composites: {} + } + + type passkeyGetPayload = $Result.GetResult + + type passkeyCountArgs = + Omit & { + select?: PasskeyCountAggregateInputType | true + } + + export interface passkeyDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['passkey'], meta: { name: 'passkey' } } + /** + * Find zero or one Passkey that matches the filter. + * @param {passkeyFindUniqueArgs} args - Arguments to find a Passkey + * @example + * // Get one Passkey + * const passkey = await prisma.passkey.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__passkeyClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Passkey that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {passkeyFindUniqueOrThrowArgs} args - Arguments to find a Passkey + * @example + * // Get one Passkey + * const passkey = await prisma.passkey.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__passkeyClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Passkey 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 {passkeyFindFirstArgs} args - Arguments to find a Passkey + * @example + * // Get one Passkey + * const passkey = await prisma.passkey.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__passkeyClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Passkey that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {passkeyFindFirstOrThrowArgs} args - Arguments to find a Passkey + * @example + * // Get one Passkey + * const passkey = await prisma.passkey.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__passkeyClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Passkeys 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 {passkeyFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Passkeys + * const passkeys = await prisma.passkey.findMany() + * + * // Get first 10 Passkeys + * const passkeys = await prisma.passkey.findMany({ take: 10 }) + * + * // Only select the `id` + * const passkeyWithIdOnly = await prisma.passkey.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Passkey. + * @param {passkeyCreateArgs} args - Arguments to create a Passkey. + * @example + * // Create one Passkey + * const Passkey = await prisma.passkey.create({ + * data: { + * // ... data to create a Passkey + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__passkeyClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Passkeys. + * @param {passkeyCreateManyArgs} args - Arguments to create many Passkeys. + * @example + * // Create many Passkeys + * const passkey = await prisma.passkey.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Passkeys and returns the data saved in the database. + * @param {passkeyCreateManyAndReturnArgs} args - Arguments to create many Passkeys. + * @example + * // Create many Passkeys + * const passkey = await prisma.passkey.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Passkeys and only return the `id` + * const passkeyWithIdOnly = await prisma.passkey.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Passkey. + * @param {passkeyDeleteArgs} args - Arguments to delete one Passkey. + * @example + * // Delete one Passkey + * const Passkey = await prisma.passkey.delete({ + * where: { + * // ... filter to delete one Passkey + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__passkeyClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Passkey. + * @param {passkeyUpdateArgs} args - Arguments to update one Passkey. + * @example + * // Update one Passkey + * const passkey = await prisma.passkey.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__passkeyClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Passkeys. + * @param {passkeyDeleteManyArgs} args - Arguments to filter Passkeys to delete. + * @example + * // Delete a few Passkeys + * const { count } = await prisma.passkey.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Passkeys. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {passkeyUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Passkeys + * const passkey = await prisma.passkey.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Passkeys and returns the data updated in the database. + * @param {passkeyUpdateManyAndReturnArgs} args - Arguments to update many Passkeys. + * @example + * // Update many Passkeys + * const passkey = await prisma.passkey.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Passkeys and only return the `id` + * const passkeyWithIdOnly = await prisma.passkey.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Passkey. + * @param {passkeyUpsertArgs} args - Arguments to update or create a Passkey. + * @example + * // Update or create a Passkey + * const passkey = await prisma.passkey.upsert({ + * create: { + * // ... data to create a Passkey + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Passkey we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__passkeyClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Passkeys. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {passkeyCountArgs} args - Arguments to filter Passkeys to count. + * @example + * // Count the number of Passkeys + * const count = await prisma.passkey.count({ + * where: { + * // ... the filter for the Passkeys we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Passkey. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PasskeyAggregateArgs} 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): Prisma.PrismaPromise> + + /** + * Group by Passkey. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {passkeyGroupByArgs} 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 passkeyGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: passkeyGroupByArgs['orderBy'] } + : { orderBy?: passkeyGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + 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 ? GetPasskeyGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the passkey model + */ + readonly fields: passkeyFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for passkey. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__passkeyClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__userClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the passkey model + */ + interface passkeyFieldRefs { + readonly id: FieldRef<"passkey", 'String'> + readonly name: FieldRef<"passkey", 'String'> + readonly publicKey: FieldRef<"passkey", 'String'> + readonly userId: FieldRef<"passkey", 'String'> + readonly credentialID: FieldRef<"passkey", 'String'> + readonly counter: FieldRef<"passkey", 'Int'> + readonly deviceType: FieldRef<"passkey", 'String'> + readonly backedUp: FieldRef<"passkey", 'Boolean'> + readonly transports: FieldRef<"passkey", 'String'> + readonly createdAt: FieldRef<"passkey", 'DateTime'> + } + + + // Custom InputTypes + /** + * passkey findUnique + */ + export type passkeyFindUniqueArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * Filter, which passkey to fetch. + */ + where: passkeyWhereUniqueInput + } + + /** + * passkey findUniqueOrThrow + */ + export type passkeyFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * Filter, which passkey to fetch. + */ + where: passkeyWhereUniqueInput + } + + /** + * passkey findFirst + */ + export type passkeyFindFirstArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * Filter, which passkey to fetch. + */ + where?: passkeyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of passkeys to fetch. + */ + orderBy?: passkeyOrderByWithRelationInput | passkeyOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for passkeys. + */ + cursor?: passkeyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` passkeys 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` passkeys. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of passkeys. + */ + distinct?: PasskeyScalarFieldEnum | PasskeyScalarFieldEnum[] + } + + /** + * passkey findFirstOrThrow + */ + export type passkeyFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * Filter, which passkey to fetch. + */ + where?: passkeyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of passkeys to fetch. + */ + orderBy?: passkeyOrderByWithRelationInput | passkeyOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for passkeys. + */ + cursor?: passkeyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` passkeys 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` passkeys. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of passkeys. + */ + distinct?: PasskeyScalarFieldEnum | PasskeyScalarFieldEnum[] + } + + /** + * passkey findMany + */ + export type passkeyFindManyArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * Filter, which passkeys to fetch. + */ + where?: passkeyWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of passkeys to fetch. + */ + orderBy?: passkeyOrderByWithRelationInput | passkeyOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing passkeys. + */ + cursor?: passkeyWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` passkeys 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` passkeys. + */ + skip?: number + distinct?: PasskeyScalarFieldEnum | PasskeyScalarFieldEnum[] + } + + /** + * passkey create + */ + export type passkeyCreateArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * The data needed to create a passkey. + */ + data: XOR + } + + /** + * passkey createMany + */ + export type passkeyCreateManyArgs = { + /** + * The data used to create many passkeys. + */ + data: passkeyCreateManyInput | passkeyCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * passkey createManyAndReturn + */ + export type passkeyCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelectCreateManyAndReturn | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * The data used to create many passkeys. + */ + data: passkeyCreateManyInput | passkeyCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyIncludeCreateManyAndReturn | null + } + + /** + * passkey update + */ + export type passkeyUpdateArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * The data needed to update a passkey. + */ + data: XOR + /** + * Choose, which passkey to update. + */ + where: passkeyWhereUniqueInput + } + + /** + * passkey updateMany + */ + export type passkeyUpdateManyArgs = { + /** + * The data used to update passkeys. + */ + data: XOR + /** + * Filter which passkeys to update + */ + where?: passkeyWhereInput + /** + * Limit how many passkeys to update. + */ + limit?: number + } + + /** + * passkey updateManyAndReturn + */ + export type passkeyUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * The data used to update passkeys. + */ + data: XOR + /** + * Filter which passkeys to update + */ + where?: passkeyWhereInput + /** + * Limit how many passkeys to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyIncludeUpdateManyAndReturn | null + } + + /** + * passkey upsert + */ + export type passkeyUpsertArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * The filter to search for the passkey to update in case it exists. + */ + where: passkeyWhereUniqueInput + /** + * In case the passkey found by the `where` argument doesn't exist, create a new passkey with this data. + */ + create: XOR + /** + * In case the passkey was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * passkey delete + */ + export type passkeyDeleteArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + /** + * Filter which passkey to delete. + */ + where: passkeyWhereUniqueInput + } + + /** + * passkey deleteMany + */ + export type passkeyDeleteManyArgs = { + /** + * Filter which passkeys to delete + */ + where?: passkeyWhereInput + /** + * Limit how many passkeys to delete. + */ + limit?: number + } + + /** + * passkey without action + */ + export type passkeyDefaultArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + } + + + /** + * Model session + */ + + export type AggregateSession = { + _count: SessionCountAggregateOutputType | null + _min: SessionMinAggregateOutputType | null + _max: SessionMaxAggregateOutputType | null + } + + export type SessionMinAggregateOutputType = { + id: string | null + expiresAt: Date | null + token: string | null + createdAt: Date | null + updatedAt: Date | null + ipAddress: string | null + userAgent: string | null + userId: string | null + impersonatedBy: string | null + } + + export type SessionMaxAggregateOutputType = { + id: string | null + expiresAt: Date | null + token: string | null + createdAt: Date | null + updatedAt: Date | null + ipAddress: string | null + userAgent: string | null + userId: string | null + impersonatedBy: string | null + } + + export type SessionCountAggregateOutputType = { + id: number + expiresAt: number + token: number + createdAt: number + updatedAt: number + ipAddress: number + userAgent: number + userId: number + impersonatedBy: number + _all: number + } + + + export type SessionMinAggregateInputType = { + id?: true + expiresAt?: true + token?: true + createdAt?: true + updatedAt?: true + ipAddress?: true + userAgent?: true + userId?: true + impersonatedBy?: true + } + + export type SessionMaxAggregateInputType = { + id?: true + expiresAt?: true + token?: true + createdAt?: true + updatedAt?: true + ipAddress?: true + userAgent?: true + userId?: true + impersonatedBy?: true + } + + export type SessionCountAggregateInputType = { + id?: true + expiresAt?: true + token?: true + createdAt?: true + updatedAt?: true + ipAddress?: true + userAgent?: true + userId?: true + impersonatedBy?: true + _all?: true + } + + export type SessionAggregateArgs = { + /** + * Filter which session to aggregate. + */ + where?: sessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of sessions to fetch. + */ + orderBy?: sessionOrderByWithRelationInput | sessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: sessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned sessions + **/ + _count?: true | SessionCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: SessionMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: SessionMaxAggregateInputType + } + + export type GetSessionAggregateType = { + [P in keyof T & keyof AggregateSession]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type sessionGroupByArgs = { + where?: sessionWhereInput + orderBy?: sessionOrderByWithAggregationInput | sessionOrderByWithAggregationInput[] + by: SessionScalarFieldEnum[] | SessionScalarFieldEnum + having?: sessionScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: SessionCountAggregateInputType | true + _min?: SessionMinAggregateInputType + _max?: SessionMaxAggregateInputType + } + + export type SessionGroupByOutputType = { + id: string + expiresAt: Date + token: string + createdAt: Date + updatedAt: Date + ipAddress: string | null + userAgent: string | null + userId: string + impersonatedBy: string | null + _count: SessionCountAggregateOutputType | null + _min: SessionMinAggregateOutputType | null + _max: SessionMaxAggregateOutputType | null + } + + type GetSessionGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof SessionGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type sessionSelect = $Extensions.GetSelect<{ + id?: boolean + expiresAt?: boolean + token?: boolean + createdAt?: boolean + updatedAt?: boolean + ipAddress?: boolean + userAgent?: boolean + userId?: boolean + impersonatedBy?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["session"]> + + export type sessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + expiresAt?: boolean + token?: boolean + createdAt?: boolean + updatedAt?: boolean + ipAddress?: boolean + userAgent?: boolean + userId?: boolean + impersonatedBy?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["session"]> + + export type sessionSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + expiresAt?: boolean + token?: boolean + createdAt?: boolean + updatedAt?: boolean + ipAddress?: boolean + userAgent?: boolean + userId?: boolean + impersonatedBy?: boolean + user?: boolean | userDefaultArgs + }, ExtArgs["result"]["session"]> + + export type sessionSelectScalar = { + id?: boolean + expiresAt?: boolean + token?: boolean + createdAt?: boolean + updatedAt?: boolean + ipAddress?: boolean + userAgent?: boolean + userId?: boolean + impersonatedBy?: boolean + } + + export type sessionOmit = $Extensions.GetOmit<"id" | "expiresAt" | "token" | "createdAt" | "updatedAt" | "ipAddress" | "userAgent" | "userId" | "impersonatedBy", ExtArgs["result"]["session"]> + export type sessionInclude = { + user?: boolean | userDefaultArgs + } + export type sessionIncludeCreateManyAndReturn = { + user?: boolean | userDefaultArgs + } + export type sessionIncludeUpdateManyAndReturn = { + user?: boolean | userDefaultArgs + } + + export type $sessionPayload = { + name: "session" + objects: { + user: Prisma.$userPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + expiresAt: Date + token: string + createdAt: Date + updatedAt: Date + ipAddress: string | null + userAgent: string | null + userId: string + impersonatedBy: string | null + }, ExtArgs["result"]["session"]> + composites: {} + } + + type sessionGetPayload = $Result.GetResult + + type sessionCountArgs = + Omit & { + select?: SessionCountAggregateInputType | true + } + + export interface sessionDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['session'], meta: { name: 'session' } } + /** + * Find zero or one Session that matches the filter. + * @param {sessionFindUniqueArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__sessionClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Session that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {sessionFindUniqueOrThrowArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__sessionClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Session that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {sessionFindFirstArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__sessionClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Session that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {sessionFindFirstOrThrowArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__sessionClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Sessions that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {sessionFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Sessions + * const sessions = await prisma.session.findMany() + * + * // Get first 10 Sessions + * const sessions = await prisma.session.findMany({ take: 10 }) + * + * // Only select the `id` + * const sessionWithIdOnly = await prisma.session.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Session. + * @param {sessionCreateArgs} args - Arguments to create a Session. + * @example + * // Create one Session + * const Session = await prisma.session.create({ + * data: { + * // ... data to create a Session + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__sessionClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Sessions. + * @param {sessionCreateManyArgs} args - Arguments to create many Sessions. + * @example + * // Create many Sessions + * const session = await prisma.session.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Sessions and returns the data saved in the database. + * @param {sessionCreateManyAndReturnArgs} args - Arguments to create many Sessions. + * @example + * // Create many Sessions + * const session = await prisma.session.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Sessions and only return the `id` + * const sessionWithIdOnly = await prisma.session.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Session. + * @param {sessionDeleteArgs} args - Arguments to delete one Session. + * @example + * // Delete one Session + * const Session = await prisma.session.delete({ + * where: { + * // ... filter to delete one Session + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__sessionClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Session. + * @param {sessionUpdateArgs} args - Arguments to update one Session. + * @example + * // Update one Session + * const session = await prisma.session.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__sessionClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Sessions. + * @param {sessionDeleteManyArgs} args - Arguments to filter Sessions to delete. + * @example + * // Delete a few Sessions + * const { count } = await prisma.session.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Sessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {sessionUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Sessions + * const session = await prisma.session.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Sessions and returns the data updated in the database. + * @param {sessionUpdateManyAndReturnArgs} args - Arguments to update many Sessions. + * @example + * // Update many Sessions + * const session = await prisma.session.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Sessions and only return the `id` + * const sessionWithIdOnly = await prisma.session.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Session. + * @param {sessionUpsertArgs} args - Arguments to update or create a Session. + * @example + * // Update or create a Session + * const session = await prisma.session.upsert({ + * create: { + * // ... data to create a Session + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Session we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__sessionClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Sessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {sessionCountArgs} args - Arguments to filter Sessions to count. + * @example + * // Count the number of Sessions + * const count = await prisma.session.count({ + * where: { + * // ... the filter for the Sessions we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Session. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Session. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {sessionGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends sessionGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: sessionGroupByArgs['orderBy'] } + : { orderBy?: sessionGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + 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 ? GetSessionGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the session model + */ + readonly fields: sessionFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for session. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__sessionClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__userClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the session model + */ + interface sessionFieldRefs { + readonly id: FieldRef<"session", 'String'> + readonly expiresAt: FieldRef<"session", 'DateTime'> + readonly token: FieldRef<"session", 'String'> + readonly createdAt: FieldRef<"session", 'DateTime'> + readonly updatedAt: FieldRef<"session", 'DateTime'> + readonly ipAddress: FieldRef<"session", 'String'> + readonly userAgent: FieldRef<"session", 'String'> + readonly userId: FieldRef<"session", 'String'> + readonly impersonatedBy: FieldRef<"session", 'String'> + } + + + // Custom InputTypes + /** + * session findUnique + */ + export type sessionFindUniqueArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * Filter, which session to fetch. + */ + where: sessionWhereUniqueInput + } + + /** + * session findUniqueOrThrow + */ + export type sessionFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * Filter, which session to fetch. + */ + where: sessionWhereUniqueInput + } + + /** + * session findFirst + */ + export type sessionFindFirstArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * Filter, which session to fetch. + */ + where?: sessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of sessions to fetch. + */ + orderBy?: sessionOrderByWithRelationInput | sessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for sessions. + */ + cursor?: sessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of sessions. + */ + distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] + } + + /** + * session findFirstOrThrow + */ + export type sessionFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * Filter, which session to fetch. + */ + where?: sessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of sessions to fetch. + */ + orderBy?: sessionOrderByWithRelationInput | sessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for sessions. + */ + cursor?: sessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of sessions. + */ + distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] + } + + /** + * session findMany + */ + export type sessionFindManyArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * Filter, which sessions to fetch. + */ + where?: sessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of sessions to fetch. + */ + orderBy?: sessionOrderByWithRelationInput | sessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing sessions. + */ + cursor?: sessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` sessions. + */ + skip?: number + distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] + } + + /** + * session create + */ + export type sessionCreateArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * The data needed to create a session. + */ + data: XOR + } + + /** + * session createMany + */ + export type sessionCreateManyArgs = { + /** + * The data used to create many sessions. + */ + data: sessionCreateManyInput | sessionCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * session createManyAndReturn + */ + export type sessionCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelectCreateManyAndReturn | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * The data used to create many sessions. + */ + data: sessionCreateManyInput | sessionCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionIncludeCreateManyAndReturn | null + } + + /** + * session update + */ + export type sessionUpdateArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * The data needed to update a session. + */ + data: XOR + /** + * Choose, which session to update. + */ + where: sessionWhereUniqueInput + } + + /** + * session updateMany + */ + export type sessionUpdateManyArgs = { + /** + * The data used to update sessions. + */ + data: XOR + /** + * Filter which sessions to update + */ + where?: sessionWhereInput + /** + * Limit how many sessions to update. + */ + limit?: number + } + + /** + * session updateManyAndReturn + */ + export type sessionUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * The data used to update sessions. + */ + data: XOR + /** + * Filter which sessions to update + */ + where?: sessionWhereInput + /** + * Limit how many sessions to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionIncludeUpdateManyAndReturn | null + } + + /** + * session upsert + */ + export type sessionUpsertArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * The filter to search for the session to update in case it exists. + */ + where: sessionWhereUniqueInput + /** + * In case the session found by the `where` argument doesn't exist, create a new session with this data. + */ + create: XOR + /** + * In case the session was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * session delete + */ + export type sessionDeleteArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + /** + * Filter which session to delete. + */ + where: sessionWhereUniqueInput + } + + /** + * session deleteMany + */ + export type sessionDeleteManyArgs = { + /** + * Filter which sessions to delete + */ + where?: sessionWhereInput + /** + * Limit how many sessions to delete. + */ + limit?: number + } + + /** + * session without action + */ + export type sessionDefaultArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + } + + + /** + * Model user + */ + + export type AggregateUser = { + _count: UserCountAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null + } + + export type UserMinAggregateOutputType = { + id: string | null + name: string | null + email: string | null + emailVerified: boolean | null + image: string | null + createdAt: Date | null + updatedAt: Date | null + username: string | null + displayUsername: string | null + role: string | null + banned: boolean | null + banReason: string | null + banExpires: Date | null + } + + export type UserMaxAggregateOutputType = { + id: string | null + name: string | null + email: string | null + emailVerified: boolean | null + image: string | null + createdAt: Date | null + updatedAt: Date | null + username: string | null + displayUsername: string | null + role: string | null + banned: boolean | null + banReason: string | null + banExpires: Date | null + } + + export type UserCountAggregateOutputType = { + id: number + name: number + email: number + emailVerified: number + image: number + createdAt: number + updatedAt: number + username: number + displayUsername: number + role: number + banned: number + banReason: number + banExpires: number + _all: number + } + + + export type UserMinAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + createdAt?: true + updatedAt?: true + username?: true + displayUsername?: true + role?: true + banned?: true + banReason?: true + banExpires?: true + } + + export type UserMaxAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + createdAt?: true + updatedAt?: true + username?: true + displayUsername?: true + role?: true + banned?: true + banReason?: true + banExpires?: true + } + + export type UserCountAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + createdAt?: true + updatedAt?: true + username?: true + displayUsername?: true + role?: true + banned?: true + banReason?: true + banExpires?: 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?: userOrderByWithRelationInput | userOrderByWithRelationInput[] + /** + * {@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 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?: userOrderByWithAggregationInput | userOrderByWithAggregationInput[] + by: UserScalarFieldEnum[] | UserScalarFieldEnum + having?: userScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserCountAggregateInputType | true + _min?: UserMinAggregateInputType + _max?: UserMaxAggregateInputType + } + + export type UserGroupByOutputType = { + id: string + name: string + email: string + emailVerified: boolean + image: string | null + createdAt: Date + updatedAt: Date + username: string | null + displayUsername: string | null + role: string | null + banned: boolean | null + banReason: string | null + banExpires: Date | null + _count: UserCountAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null + } + + type GetUserGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type userSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + createdAt?: boolean + updatedAt?: boolean + username?: boolean + displayUsername?: boolean + role?: boolean + banned?: boolean + banReason?: boolean + banExpires?: boolean + account?: boolean | user$accountArgs + passkey?: boolean | user$passkeyArgs + session?: boolean | user$sessionArgs + _count?: boolean | UserCountOutputTypeDefaultArgs + }, ExtArgs["result"]["user"]> + + export type userSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + createdAt?: boolean + updatedAt?: boolean + username?: boolean + displayUsername?: boolean + role?: boolean + banned?: boolean + banReason?: boolean + banExpires?: boolean + }, ExtArgs["result"]["user"]> + + export type userSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + createdAt?: boolean + updatedAt?: boolean + username?: boolean + displayUsername?: boolean + role?: boolean + banned?: boolean + banReason?: boolean + banExpires?: boolean + }, ExtArgs["result"]["user"]> + + export type userSelectScalar = { + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + createdAt?: boolean + updatedAt?: boolean + username?: boolean + displayUsername?: boolean + role?: boolean + banned?: boolean + banReason?: boolean + banExpires?: boolean + } + + export type userOmit = $Extensions.GetOmit<"id" | "name" | "email" | "emailVerified" | "image" | "createdAt" | "updatedAt" | "username" | "displayUsername" | "role" | "banned" | "banReason" | "banExpires", ExtArgs["result"]["user"]> + export type userInclude = { + account?: boolean | user$accountArgs + passkey?: boolean | user$passkeyArgs + session?: boolean | user$sessionArgs + _count?: boolean | UserCountOutputTypeDefaultArgs + } + export type userIncludeCreateManyAndReturn = {} + export type userIncludeUpdateManyAndReturn = {} + + export type $userPayload = { + name: "user" + objects: { + account: Prisma.$accountPayload[] + passkey: Prisma.$passkeyPayload[] + session: Prisma.$sessionPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + email: string + emailVerified: boolean + image: string | null + createdAt: Date + updatedAt: Date + username: string | null + displayUsername: string | null + role: string | null + banned: boolean | null + banReason: string | null + banExpires: Date | null + }, ExtArgs["result"]["user"]> + composites: {} + } + + type userGetPayload = $Result.GetResult + + type userCountArgs = + Omit & { + select?: UserCountAggregateInputType | true + } + + export interface userDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['user'], meta: { name: 'user' } } + /** + * Find zero or one User that matches the filter. + * @param {userFindUniqueArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__userClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one User that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {userFindUniqueOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__userClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first User that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {userFindFirstArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__userClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first User that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {userFindFirstOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__userClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Users that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {userFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Users + * const users = await prisma.user.findMany() + * + * // Get first 10 Users + * const users = await prisma.user.findMany({ take: 10 }) + * + * // Only select the `id` + * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a User. + * @param {userCreateArgs} args - Arguments to create a User. + * @example + * // Create one User + * const User = await prisma.user.create({ + * data: { + * // ... data to create a User + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__userClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Users. + * @param {userCreateManyArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Users and returns the data saved in the database. + * @param {userCreateManyAndReturnArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Users and only return the `id` + * const userWithIdOnly = await prisma.user.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a User. + * @param {userDeleteArgs} args - Arguments to delete one User. + * @example + * // Delete one User + * const User = await prisma.user.delete({ + * where: { + * // ... filter to delete one User + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__userClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one User. + * @param {userUpdateArgs} args - Arguments to update one User. + * @example + * // Update one User + * const user = await prisma.user.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__userClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Users. + * @param {userDeleteManyArgs} args - Arguments to filter Users to delete. + * @example + * // Delete a few Users + * const { count } = await prisma.user.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {userUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Users + * const user = await prisma.user.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Users and returns the data updated in the database. + * @param {userUpdateManyAndReturnArgs} args - Arguments to update many Users. + * @example + * // Update many Users + * const user = await prisma.user.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Users and only return the `id` + * const userWithIdOnly = await prisma.user.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one User. + * @param {userUpsertArgs} args - Arguments to update or create a User. + * @example + * // Update or create a User + * const user = await prisma.user.upsert({ + * create: { + * // ... data to create a User + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the User we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__userClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {userCountArgs} args - Arguments to filter Users to count. + * @example + * // Count the number of Users + * const count = await prisma.user.count({ + * where: { + * // ... the filter for the Users we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.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): Prisma.PrismaPromise> + + /** + * Group by User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {userGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends userGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: userGroupByArgs['orderBy'] } + : { orderBy?: userGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + 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 : Prisma.PrismaPromise + /** + * Fields of the user model + */ + readonly fields: userFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for user. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__userClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + account = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + passkey = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + session = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the user model + */ + interface userFieldRefs { + readonly id: FieldRef<"user", 'String'> + readonly name: FieldRef<"user", 'String'> + readonly email: FieldRef<"user", 'String'> + readonly emailVerified: FieldRef<"user", 'Boolean'> + readonly image: FieldRef<"user", 'String'> + readonly createdAt: FieldRef<"user", 'DateTime'> + readonly updatedAt: FieldRef<"user", 'DateTime'> + readonly username: FieldRef<"user", 'String'> + readonly displayUsername: FieldRef<"user", 'String'> + readonly role: FieldRef<"user", 'String'> + readonly banned: FieldRef<"user", 'Boolean'> + readonly banReason: FieldRef<"user", 'String'> + readonly banExpires: FieldRef<"user", 'DateTime'> + } + + + // Custom InputTypes + /** + * user findUnique + */ + export type userFindUniqueArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: userInclude | null + /** + * Filter, which user to fetch. + */ + where: userWhereUniqueInput + } + + /** + * user findUniqueOrThrow + */ + export type userFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: userInclude | null + /** + * Filter, which user to fetch. + */ + where: userWhereUniqueInput + } + + /** + * user findFirst + */ + export type userFindFirstArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | 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?: userOrderByWithRelationInput | userOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for users. + */ + cursor?: 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?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * user findFirstOrThrow + */ + export type userFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | 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?: userOrderByWithRelationInput | userOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for users. + */ + cursor?: 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?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * user findMany + */ + export type userFindManyArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | 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?: userOrderByWithRelationInput | userOrderByWithRelationInput[] + /** + * {@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?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * user create + */ + export type userCreateArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | 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: userCreateManyInput | userCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * user createManyAndReturn + */ + export type userCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelectCreateManyAndReturn | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | null + /** + * The data used to create many users. + */ + data: userCreateManyInput | userCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * user update + */ + export type userUpdateArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | 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 + /** + * Limit how many users to update. + */ + limit?: number + } + + /** + * user updateManyAndReturn + */ + export type userUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | null + /** + * The data used to update users. + */ + data: XOR + /** + * Filter which users to update + */ + where?: userWhereInput + /** + * Limit how many users to update. + */ + limit?: number + } + + /** + * user upsert + */ + export type userUpsertArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | 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 + /** + * Omit specific fields from the user + */ + omit?: userOmit | 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 + /** + * Limit how many users to delete. + */ + limit?: number + } + + /** + * user.account + */ + export type user$accountArgs = { + /** + * Select specific fields to fetch from the account + */ + select?: accountSelect | null + /** + * Omit specific fields from the account + */ + omit?: accountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: accountInclude | null + where?: accountWhereInput + orderBy?: accountOrderByWithRelationInput | accountOrderByWithRelationInput[] + cursor?: accountWhereUniqueInput + take?: number + skip?: number + distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] + } + + /** + * user.passkey + */ + export type user$passkeyArgs = { + /** + * Select specific fields to fetch from the passkey + */ + select?: passkeySelect | null + /** + * Omit specific fields from the passkey + */ + omit?: passkeyOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: passkeyInclude | null + where?: passkeyWhereInput + orderBy?: passkeyOrderByWithRelationInput | passkeyOrderByWithRelationInput[] + cursor?: passkeyWhereUniqueInput + take?: number + skip?: number + distinct?: PasskeyScalarFieldEnum | PasskeyScalarFieldEnum[] + } + + /** + * user.session + */ + export type user$sessionArgs = { + /** + * Select specific fields to fetch from the session + */ + select?: sessionSelect | null + /** + * Omit specific fields from the session + */ + omit?: sessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: sessionInclude | null + where?: sessionWhereInput + orderBy?: sessionOrderByWithRelationInput | sessionOrderByWithRelationInput[] + cursor?: sessionWhereUniqueInput + take?: number + skip?: number + distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] + } + + /** + * user without action + */ + export type userDefaultArgs = { + /** + * Select specific fields to fetch from the user + */ + select?: userSelect | null + /** + * Omit specific fields from the user + */ + omit?: userOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: userInclude | null + } + + + /** + * Model verification + */ + + export type AggregateVerification = { + _count: VerificationCountAggregateOutputType | null + _min: VerificationMinAggregateOutputType | null + _max: VerificationMaxAggregateOutputType | null + } + + export type VerificationMinAggregateOutputType = { + id: string | null + identifier: string | null + value: string | null + expiresAt: Date | null + createdAt: Date | null + updatedAt: Date | null + } + + export type VerificationMaxAggregateOutputType = { + id: string | null + identifier: string | null + value: string | null + expiresAt: Date | null + createdAt: Date | null + updatedAt: Date | null + } + + export type VerificationCountAggregateOutputType = { + id: number + identifier: number + value: number + expiresAt: number + createdAt: number + updatedAt: number + _all: number + } + + + export type VerificationMinAggregateInputType = { + id?: true + identifier?: true + value?: true + expiresAt?: true + createdAt?: true + updatedAt?: true + } + + export type VerificationMaxAggregateInputType = { + id?: true + identifier?: true + value?: true + expiresAt?: true + createdAt?: true + updatedAt?: true + } + + export type VerificationCountAggregateInputType = { + id?: true + identifier?: true + value?: true + expiresAt?: true + createdAt?: true + updatedAt?: true + _all?: true + } + + export type VerificationAggregateArgs = { + /** + * Filter which verification to aggregate. + */ + where?: verificationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of verifications to fetch. + */ + orderBy?: verificationOrderByWithRelationInput | verificationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: verificationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` verifications from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` verifications. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned verifications + **/ + _count?: true | VerificationCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: VerificationMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: VerificationMaxAggregateInputType + } + + export type GetVerificationAggregateType = { + [P in keyof T & keyof AggregateVerification]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type verificationGroupByArgs = { + where?: verificationWhereInput + orderBy?: verificationOrderByWithAggregationInput | verificationOrderByWithAggregationInput[] + by: VerificationScalarFieldEnum[] | VerificationScalarFieldEnum + having?: verificationScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: VerificationCountAggregateInputType | true + _min?: VerificationMinAggregateInputType + _max?: VerificationMaxAggregateInputType + } + + export type VerificationGroupByOutputType = { + id: string + identifier: string + value: string + expiresAt: Date + createdAt: Date | null + updatedAt: Date | null + _count: VerificationCountAggregateOutputType | null + _min: VerificationMinAggregateOutputType | null + _max: VerificationMaxAggregateOutputType | null + } + + type GetVerificationGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof VerificationGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type verificationSelect = $Extensions.GetSelect<{ + id?: boolean + identifier?: boolean + value?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["verification"]> + + export type verificationSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + identifier?: boolean + value?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["verification"]> + + export type verificationSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + identifier?: boolean + value?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["verification"]> + + export type verificationSelectScalar = { + id?: boolean + identifier?: boolean + value?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean + } + + export type verificationOmit = $Extensions.GetOmit<"id" | "identifier" | "value" | "expiresAt" | "createdAt" | "updatedAt", ExtArgs["result"]["verification"]> + + export type $verificationPayload = { + name: "verification" + objects: {} + scalars: $Extensions.GetPayloadResult<{ + id: string + identifier: string + value: string + expiresAt: Date + createdAt: Date | null + updatedAt: Date | null + }, ExtArgs["result"]["verification"]> + composites: {} + } + + type verificationGetPayload = $Result.GetResult + + type verificationCountArgs = + Omit & { + select?: VerificationCountAggregateInputType | true + } + + export interface verificationDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['verification'], meta: { name: 'verification' } } + /** + * Find zero or one Verification that matches the filter. + * @param {verificationFindUniqueArgs} args - Arguments to find a Verification + * @example + * // Get one Verification + * const verification = await prisma.verification.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__verificationClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Verification that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {verificationFindUniqueOrThrowArgs} args - Arguments to find a Verification + * @example + * // Get one Verification + * const verification = await prisma.verification.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__verificationClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Verification that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {verificationFindFirstArgs} args - Arguments to find a Verification + * @example + * // Get one Verification + * const verification = await prisma.verification.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__verificationClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Verification that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {verificationFindFirstOrThrowArgs} args - Arguments to find a Verification + * @example + * // Get one Verification + * const verification = await prisma.verification.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__verificationClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Verifications that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {verificationFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Verifications + * const verifications = await prisma.verification.findMany() + * + * // Get first 10 Verifications + * const verifications = await prisma.verification.findMany({ take: 10 }) + * + * // Only select the `id` + * const verificationWithIdOnly = await prisma.verification.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Verification. + * @param {verificationCreateArgs} args - Arguments to create a Verification. + * @example + * // Create one Verification + * const Verification = await prisma.verification.create({ + * data: { + * // ... data to create a Verification + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__verificationClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Verifications. + * @param {verificationCreateManyArgs} args - Arguments to create many Verifications. + * @example + * // Create many Verifications + * const verification = await prisma.verification.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Verifications and returns the data saved in the database. + * @param {verificationCreateManyAndReturnArgs} args - Arguments to create many Verifications. + * @example + * // Create many Verifications + * const verification = await prisma.verification.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Verifications and only return the `id` + * const verificationWithIdOnly = await prisma.verification.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Verification. + * @param {verificationDeleteArgs} args - Arguments to delete one Verification. + * @example + * // Delete one Verification + * const Verification = await prisma.verification.delete({ + * where: { + * // ... filter to delete one Verification + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__verificationClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Verification. + * @param {verificationUpdateArgs} args - Arguments to update one Verification. + * @example + * // Update one Verification + * const verification = await prisma.verification.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__verificationClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Verifications. + * @param {verificationDeleteManyArgs} args - Arguments to filter Verifications to delete. + * @example + * // Delete a few Verifications + * const { count } = await prisma.verification.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Verifications. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {verificationUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Verifications + * const verification = await prisma.verification.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Verifications and returns the data updated in the database. + * @param {verificationUpdateManyAndReturnArgs} args - Arguments to update many Verifications. + * @example + * // Update many Verifications + * const verification = await prisma.verification.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Verifications and only return the `id` + * const verificationWithIdOnly = await prisma.verification.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Verification. + * @param {verificationUpsertArgs} args - Arguments to update or create a Verification. + * @example + * // Update or create a Verification + * const verification = await prisma.verification.upsert({ + * create: { + * // ... data to create a Verification + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Verification we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__verificationClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Verifications. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {verificationCountArgs} args - Arguments to filter Verifications to count. + * @example + * // Count the number of Verifications + * const count = await prisma.verification.count({ + * where: { + * // ... the filter for the Verifications we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Verification. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Verification. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {verificationGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends verificationGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: verificationGroupByArgs['orderBy'] } + : { orderBy?: verificationGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + 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 ? GetVerificationGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the verification model + */ + readonly fields: verificationFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for verification. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__verificationClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the verification model + */ + interface verificationFieldRefs { + readonly id: FieldRef<"verification", 'String'> + readonly identifier: FieldRef<"verification", 'String'> + readonly value: FieldRef<"verification", 'String'> + readonly expiresAt: FieldRef<"verification", 'DateTime'> + readonly createdAt: FieldRef<"verification", 'DateTime'> + readonly updatedAt: FieldRef<"verification", 'DateTime'> + } + + + // Custom InputTypes + /** + * verification findUnique + */ + export type verificationFindUniqueArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * Filter, which verification to fetch. + */ + where: verificationWhereUniqueInput + } + + /** + * verification findUniqueOrThrow + */ + export type verificationFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * Filter, which verification to fetch. + */ + where: verificationWhereUniqueInput + } + + /** + * verification findFirst + */ + export type verificationFindFirstArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * Filter, which verification to fetch. + */ + where?: verificationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of verifications to fetch. + */ + orderBy?: verificationOrderByWithRelationInput | verificationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for verifications. + */ + cursor?: verificationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` verifications from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` verifications. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of verifications. + */ + distinct?: VerificationScalarFieldEnum | VerificationScalarFieldEnum[] + } + + /** + * verification findFirstOrThrow + */ + export type verificationFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * Filter, which verification to fetch. + */ + where?: verificationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of verifications to fetch. + */ + orderBy?: verificationOrderByWithRelationInput | verificationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for verifications. + */ + cursor?: verificationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` verifications from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` verifications. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of verifications. + */ + distinct?: VerificationScalarFieldEnum | VerificationScalarFieldEnum[] + } + + /** + * verification findMany + */ + export type verificationFindManyArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * Filter, which verifications to fetch. + */ + where?: verificationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of verifications to fetch. + */ + orderBy?: verificationOrderByWithRelationInput | verificationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing verifications. + */ + cursor?: verificationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` verifications from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` verifications. + */ + skip?: number + distinct?: VerificationScalarFieldEnum | VerificationScalarFieldEnum[] + } + + /** + * verification create + */ + export type verificationCreateArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * The data needed to create a verification. + */ + data: XOR + } + + /** + * verification createMany + */ + export type verificationCreateManyArgs = { + /** + * The data used to create many verifications. + */ + data: verificationCreateManyInput | verificationCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * verification createManyAndReturn + */ + export type verificationCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelectCreateManyAndReturn | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * The data used to create many verifications. + */ + data: verificationCreateManyInput | verificationCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * verification update + */ + export type verificationUpdateArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * The data needed to update a verification. + */ + data: XOR + /** + * Choose, which verification to update. + */ + where: verificationWhereUniqueInput + } + + /** + * verification updateMany + */ + export type verificationUpdateManyArgs = { + /** + * The data used to update verifications. + */ + data: XOR + /** + * Filter which verifications to update + */ + where?: verificationWhereInput + /** + * Limit how many verifications to update. + */ + limit?: number + } + + /** + * verification updateManyAndReturn + */ + export type verificationUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * The data used to update verifications. + */ + data: XOR + /** + * Filter which verifications to update + */ + where?: verificationWhereInput + /** + * Limit how many verifications to update. + */ + limit?: number + } + + /** + * verification upsert + */ + export type verificationUpsertArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * The filter to search for the verification to update in case it exists. + */ + where: verificationWhereUniqueInput + /** + * In case the verification found by the `where` argument doesn't exist, create a new verification with this data. + */ + create: XOR + /** + * In case the verification was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * verification delete + */ + export type verificationDeleteArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + /** + * Filter which verification to delete. + */ + where: verificationWhereUniqueInput + } + + /** + * verification deleteMany + */ + export type verificationDeleteManyArgs = { + /** + * Filter which verifications to delete + */ + where?: verificationWhereInput + /** + * Limit how many verifications to delete. + */ + limit?: number + } + + /** + * verification without action + */ + export type verificationDefaultArgs = { + /** + * Select specific fields to fetch from the verification + */ + select?: verificationSelect | null + /** + * Omit specific fields from the verification + */ + omit?: verificationOmit | null + } + + + /** + * Enums + */ + + export const TransactionIsolationLevel: { + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' + }; + + export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + + + export const AccountScalarFieldEnum: { + id: 'id', + accountId: 'accountId', + providerId: 'providerId', + userId: 'userId', + accessToken: 'accessToken', + refreshToken: 'refreshToken', + idToken: 'idToken', + accessTokenExpiresAt: 'accessTokenExpiresAt', + refreshTokenExpiresAt: 'refreshTokenExpiresAt', + scope: 'scope', + password: 'password', + createdAt: 'createdAt', + updatedAt: 'updatedAt' + }; + + export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] + + + export const PasskeyScalarFieldEnum: { + id: 'id', + name: 'name', + publicKey: 'publicKey', + userId: 'userId', + credentialID: 'credentialID', + counter: 'counter', + deviceType: 'deviceType', + backedUp: 'backedUp', + transports: 'transports', + createdAt: 'createdAt' + }; + + export type PasskeyScalarFieldEnum = (typeof PasskeyScalarFieldEnum)[keyof typeof PasskeyScalarFieldEnum] + + + export const SessionScalarFieldEnum: { + id: 'id', + expiresAt: 'expiresAt', + token: 'token', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + ipAddress: 'ipAddress', + userAgent: 'userAgent', + userId: 'userId', + impersonatedBy: 'impersonatedBy' + }; + + export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] + + + export const UserScalarFieldEnum: { + id: 'id', + name: 'name', + email: 'email', + emailVerified: 'emailVerified', + image: 'image', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + username: 'username', + displayUsername: 'displayUsername', + role: 'role', + banned: 'banned', + banReason: 'banReason', + banExpires: 'banExpires' + }; + + export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + + + export const VerificationScalarFieldEnum: { + id: 'id', + identifier: 'identifier', + value: 'value', + expiresAt: 'expiresAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' + }; + + export type VerificationScalarFieldEnum = (typeof VerificationScalarFieldEnum)[keyof typeof VerificationScalarFieldEnum] + + + export const SortOrder: { + asc: 'asc', + desc: 'desc' + }; + + export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + + export const QueryMode: { + default: 'default', + insensitive: 'insensitive' + }; + + export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] + + + export const NullsOrder: { + first: 'first', + last: 'last' + }; + + export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] + + + /** + * Field references + */ + + + /** + * Reference to a field of type 'String' + */ + export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'> + + + + /** + * Reference to a field of type 'String[]' + */ + export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'> + + + + /** + * Reference to a field of type 'DateTime' + */ + export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> + + + + /** + * Reference to a field of type 'DateTime[]' + */ + export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> + + + + /** + * Reference to a field of type 'Int' + */ + export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> + + + + /** + * Reference to a field of type 'Int[]' + */ + export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'> + + + + /** + * Reference to a field of type 'Boolean' + */ + export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> + + + + /** + * Reference to a field of type 'Float' + */ + export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> + + + + /** + * Reference to a field of type 'Float[]' + */ + export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> + + /** + * Deep Input Types + */ + + + export type accountWhereInput = { + AND?: accountWhereInput | accountWhereInput[] + OR?: accountWhereInput[] + NOT?: accountWhereInput | accountWhereInput[] + id?: StringFilter<"account"> | string + accountId?: StringFilter<"account"> | string + providerId?: StringFilter<"account"> | string + userId?: StringFilter<"account"> | string + accessToken?: StringNullableFilter<"account"> | string | null + refreshToken?: StringNullableFilter<"account"> | string | null + idToken?: StringNullableFilter<"account"> | string | null + accessTokenExpiresAt?: DateTimeNullableFilter<"account"> | Date | string | null + refreshTokenExpiresAt?: DateTimeNullableFilter<"account"> | Date | string | null + scope?: StringNullableFilter<"account"> | string | null + password?: StringNullableFilter<"account"> | string | null + createdAt?: DateTimeFilter<"account"> | Date | string + updatedAt?: DateTimeFilter<"account"> | Date | string + user?: XOR + } + + export type accountOrderByWithRelationInput = { + id?: SortOrder + accountId?: SortOrder + providerId?: SortOrder + userId?: SortOrder + accessToken?: SortOrderInput | SortOrder + refreshToken?: SortOrderInput | SortOrder + idToken?: SortOrderInput | SortOrder + accessTokenExpiresAt?: SortOrderInput | SortOrder + refreshTokenExpiresAt?: SortOrderInput | SortOrder + scope?: SortOrderInput | SortOrder + password?: SortOrderInput | SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + user?: userOrderByWithRelationInput + } + + export type accountWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: accountWhereInput | accountWhereInput[] + OR?: accountWhereInput[] + NOT?: accountWhereInput | accountWhereInput[] + accountId?: StringFilter<"account"> | string + providerId?: StringFilter<"account"> | string + userId?: StringFilter<"account"> | string + accessToken?: StringNullableFilter<"account"> | string | null + refreshToken?: StringNullableFilter<"account"> | string | null + idToken?: StringNullableFilter<"account"> | string | null + accessTokenExpiresAt?: DateTimeNullableFilter<"account"> | Date | string | null + refreshTokenExpiresAt?: DateTimeNullableFilter<"account"> | Date | string | null + scope?: StringNullableFilter<"account"> | string | null + password?: StringNullableFilter<"account"> | string | null + createdAt?: DateTimeFilter<"account"> | Date | string + updatedAt?: DateTimeFilter<"account"> | Date | string + user?: XOR + }, "id"> + + export type accountOrderByWithAggregationInput = { + id?: SortOrder + accountId?: SortOrder + providerId?: SortOrder + userId?: SortOrder + accessToken?: SortOrderInput | SortOrder + refreshToken?: SortOrderInput | SortOrder + idToken?: SortOrderInput | SortOrder + accessTokenExpiresAt?: SortOrderInput | SortOrder + refreshTokenExpiresAt?: SortOrderInput | SortOrder + scope?: SortOrderInput | SortOrder + password?: SortOrderInput | SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + _count?: accountCountOrderByAggregateInput + _max?: accountMaxOrderByAggregateInput + _min?: accountMinOrderByAggregateInput + } + + export type accountScalarWhereWithAggregatesInput = { + AND?: accountScalarWhereWithAggregatesInput | accountScalarWhereWithAggregatesInput[] + OR?: accountScalarWhereWithAggregatesInput[] + NOT?: accountScalarWhereWithAggregatesInput | accountScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"account"> | string + accountId?: StringWithAggregatesFilter<"account"> | string + providerId?: StringWithAggregatesFilter<"account"> | string + userId?: StringWithAggregatesFilter<"account"> | string + accessToken?: StringNullableWithAggregatesFilter<"account"> | string | null + refreshToken?: StringNullableWithAggregatesFilter<"account"> | string | null + idToken?: StringNullableWithAggregatesFilter<"account"> | string | null + accessTokenExpiresAt?: DateTimeNullableWithAggregatesFilter<"account"> | Date | string | null + refreshTokenExpiresAt?: DateTimeNullableWithAggregatesFilter<"account"> | Date | string | null + scope?: StringNullableWithAggregatesFilter<"account"> | string | null + password?: StringNullableWithAggregatesFilter<"account"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"account"> | Date | string + updatedAt?: DateTimeWithAggregatesFilter<"account"> | Date | string + } + + export type passkeyWhereInput = { + AND?: passkeyWhereInput | passkeyWhereInput[] + OR?: passkeyWhereInput[] + NOT?: passkeyWhereInput | passkeyWhereInput[] + id?: StringFilter<"passkey"> | string + name?: StringNullableFilter<"passkey"> | string | null + publicKey?: StringFilter<"passkey"> | string + userId?: StringFilter<"passkey"> | string + credentialID?: StringFilter<"passkey"> | string + counter?: IntFilter<"passkey"> | number + deviceType?: StringFilter<"passkey"> | string + backedUp?: BoolFilter<"passkey"> | boolean + transports?: StringNullableFilter<"passkey"> | string | null + createdAt?: DateTimeNullableFilter<"passkey"> | Date | string | null + user?: XOR + } + + export type passkeyOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrderInput | SortOrder + publicKey?: SortOrder + userId?: SortOrder + credentialID?: SortOrder + counter?: SortOrder + deviceType?: SortOrder + backedUp?: SortOrder + transports?: SortOrderInput | SortOrder + createdAt?: SortOrderInput | SortOrder + user?: userOrderByWithRelationInput + } + + export type passkeyWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: passkeyWhereInput | passkeyWhereInput[] + OR?: passkeyWhereInput[] + NOT?: passkeyWhereInput | passkeyWhereInput[] + name?: StringNullableFilter<"passkey"> | string | null + publicKey?: StringFilter<"passkey"> | string + userId?: StringFilter<"passkey"> | string + credentialID?: StringFilter<"passkey"> | string + counter?: IntFilter<"passkey"> | number + deviceType?: StringFilter<"passkey"> | string + backedUp?: BoolFilter<"passkey"> | boolean + transports?: StringNullableFilter<"passkey"> | string | null + createdAt?: DateTimeNullableFilter<"passkey"> | Date | string | null + user?: XOR + }, "id"> + + export type passkeyOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrderInput | SortOrder + publicKey?: SortOrder + userId?: SortOrder + credentialID?: SortOrder + counter?: SortOrder + deviceType?: SortOrder + backedUp?: SortOrder + transports?: SortOrderInput | SortOrder + createdAt?: SortOrderInput | SortOrder + _count?: passkeyCountOrderByAggregateInput + _avg?: passkeyAvgOrderByAggregateInput + _max?: passkeyMaxOrderByAggregateInput + _min?: passkeyMinOrderByAggregateInput + _sum?: passkeySumOrderByAggregateInput + } + + export type passkeyScalarWhereWithAggregatesInput = { + AND?: passkeyScalarWhereWithAggregatesInput | passkeyScalarWhereWithAggregatesInput[] + OR?: passkeyScalarWhereWithAggregatesInput[] + NOT?: passkeyScalarWhereWithAggregatesInput | passkeyScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"passkey"> | string + name?: StringNullableWithAggregatesFilter<"passkey"> | string | null + publicKey?: StringWithAggregatesFilter<"passkey"> | string + userId?: StringWithAggregatesFilter<"passkey"> | string + credentialID?: StringWithAggregatesFilter<"passkey"> | string + counter?: IntWithAggregatesFilter<"passkey"> | number + deviceType?: StringWithAggregatesFilter<"passkey"> | string + backedUp?: BoolWithAggregatesFilter<"passkey"> | boolean + transports?: StringNullableWithAggregatesFilter<"passkey"> | string | null + createdAt?: DateTimeNullableWithAggregatesFilter<"passkey"> | Date | string | null + } + + export type sessionWhereInput = { + AND?: sessionWhereInput | sessionWhereInput[] + OR?: sessionWhereInput[] + NOT?: sessionWhereInput | sessionWhereInput[] + id?: StringFilter<"session"> | string + expiresAt?: DateTimeFilter<"session"> | Date | string + token?: StringFilter<"session"> | string + createdAt?: DateTimeFilter<"session"> | Date | string + updatedAt?: DateTimeFilter<"session"> | Date | string + ipAddress?: StringNullableFilter<"session"> | string | null + userAgent?: StringNullableFilter<"session"> | string | null + userId?: StringFilter<"session"> | string + impersonatedBy?: StringNullableFilter<"session"> | string | null + user?: XOR + } + + export type sessionOrderByWithRelationInput = { + id?: SortOrder + expiresAt?: SortOrder + token?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + ipAddress?: SortOrderInput | SortOrder + userAgent?: SortOrderInput | SortOrder + userId?: SortOrder + impersonatedBy?: SortOrderInput | SortOrder + user?: userOrderByWithRelationInput + } + + export type sessionWhereUniqueInput = Prisma.AtLeast<{ + id?: string + token?: string + AND?: sessionWhereInput | sessionWhereInput[] + OR?: sessionWhereInput[] + NOT?: sessionWhereInput | sessionWhereInput[] + expiresAt?: DateTimeFilter<"session"> | Date | string + createdAt?: DateTimeFilter<"session"> | Date | string + updatedAt?: DateTimeFilter<"session"> | Date | string + ipAddress?: StringNullableFilter<"session"> | string | null + userAgent?: StringNullableFilter<"session"> | string | null + userId?: StringFilter<"session"> | string + impersonatedBy?: StringNullableFilter<"session"> | string | null + user?: XOR + }, "id" | "token"> + + export type sessionOrderByWithAggregationInput = { + id?: SortOrder + expiresAt?: SortOrder + token?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + ipAddress?: SortOrderInput | SortOrder + userAgent?: SortOrderInput | SortOrder + userId?: SortOrder + impersonatedBy?: SortOrderInput | SortOrder + _count?: sessionCountOrderByAggregateInput + _max?: sessionMaxOrderByAggregateInput + _min?: sessionMinOrderByAggregateInput + } + + export type sessionScalarWhereWithAggregatesInput = { + AND?: sessionScalarWhereWithAggregatesInput | sessionScalarWhereWithAggregatesInput[] + OR?: sessionScalarWhereWithAggregatesInput[] + NOT?: sessionScalarWhereWithAggregatesInput | sessionScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"session"> | string + expiresAt?: DateTimeWithAggregatesFilter<"session"> | Date | string + token?: StringWithAggregatesFilter<"session"> | string + createdAt?: DateTimeWithAggregatesFilter<"session"> | Date | string + updatedAt?: DateTimeWithAggregatesFilter<"session"> | Date | string + ipAddress?: StringNullableWithAggregatesFilter<"session"> | string | null + userAgent?: StringNullableWithAggregatesFilter<"session"> | string | null + userId?: StringWithAggregatesFilter<"session"> | string + impersonatedBy?: StringNullableWithAggregatesFilter<"session"> | string | null + } + + export type userWhereInput = { + AND?: userWhereInput | userWhereInput[] + OR?: userWhereInput[] + NOT?: userWhereInput | userWhereInput[] + id?: StringFilter<"user"> | string + name?: StringFilter<"user"> | string + email?: StringFilter<"user"> | string + emailVerified?: BoolFilter<"user"> | boolean + image?: StringNullableFilter<"user"> | string | null + createdAt?: DateTimeFilter<"user"> | Date | string + updatedAt?: DateTimeFilter<"user"> | Date | string + username?: StringNullableFilter<"user"> | string | null + displayUsername?: StringNullableFilter<"user"> | string | null + role?: StringNullableFilter<"user"> | string | null + banned?: BoolNullableFilter<"user"> | boolean | null + banReason?: StringNullableFilter<"user"> | string | null + banExpires?: DateTimeNullableFilter<"user"> | Date | string | null + account?: AccountListRelationFilter + passkey?: PasskeyListRelationFilter + session?: SessionListRelationFilter + } + + export type userOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + email?: SortOrder + emailVerified?: SortOrder + image?: SortOrderInput | SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + username?: SortOrderInput | SortOrder + displayUsername?: SortOrderInput | SortOrder + role?: SortOrderInput | SortOrder + banned?: SortOrderInput | SortOrder + banReason?: SortOrderInput | SortOrder + banExpires?: SortOrderInput | SortOrder + account?: accountOrderByRelationAggregateInput + passkey?: passkeyOrderByRelationAggregateInput + session?: sessionOrderByRelationAggregateInput + } + + export type userWhereUniqueInput = Prisma.AtLeast<{ + id?: string + email?: string + username?: string + AND?: userWhereInput | userWhereInput[] + OR?: userWhereInput[] + NOT?: userWhereInput | userWhereInput[] + name?: StringFilter<"user"> | string + emailVerified?: BoolFilter<"user"> | boolean + image?: StringNullableFilter<"user"> | string | null + createdAt?: DateTimeFilter<"user"> | Date | string + updatedAt?: DateTimeFilter<"user"> | Date | string + displayUsername?: StringNullableFilter<"user"> | string | null + role?: StringNullableFilter<"user"> | string | null + banned?: BoolNullableFilter<"user"> | boolean | null + banReason?: StringNullableFilter<"user"> | string | null + banExpires?: DateTimeNullableFilter<"user"> | Date | string | null + account?: AccountListRelationFilter + passkey?: PasskeyListRelationFilter + session?: SessionListRelationFilter + }, "id" | "email" | "username"> + + export type userOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + email?: SortOrder + emailVerified?: SortOrder + image?: SortOrderInput | SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + username?: SortOrderInput | SortOrder + displayUsername?: SortOrderInput | SortOrder + role?: SortOrderInput | SortOrder + banned?: SortOrderInput | SortOrder + banReason?: SortOrderInput | SortOrder + banExpires?: SortOrderInput | SortOrder + _count?: userCountOrderByAggregateInput + _max?: userMaxOrderByAggregateInput + _min?: userMinOrderByAggregateInput + } + + export type userScalarWhereWithAggregatesInput = { + AND?: userScalarWhereWithAggregatesInput | userScalarWhereWithAggregatesInput[] + OR?: userScalarWhereWithAggregatesInput[] + NOT?: userScalarWhereWithAggregatesInput | userScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"user"> | string + name?: StringWithAggregatesFilter<"user"> | string + email?: StringWithAggregatesFilter<"user"> | string + emailVerified?: BoolWithAggregatesFilter<"user"> | boolean + image?: StringNullableWithAggregatesFilter<"user"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"user"> | Date | string + updatedAt?: DateTimeWithAggregatesFilter<"user"> | Date | string + username?: StringNullableWithAggregatesFilter<"user"> | string | null + displayUsername?: StringNullableWithAggregatesFilter<"user"> | string | null + role?: StringNullableWithAggregatesFilter<"user"> | string | null + banned?: BoolNullableWithAggregatesFilter<"user"> | boolean | null + banReason?: StringNullableWithAggregatesFilter<"user"> | string | null + banExpires?: DateTimeNullableWithAggregatesFilter<"user"> | Date | string | null + } + + export type verificationWhereInput = { + AND?: verificationWhereInput | verificationWhereInput[] + OR?: verificationWhereInput[] + NOT?: verificationWhereInput | verificationWhereInput[] + id?: StringFilter<"verification"> | string + identifier?: StringFilter<"verification"> | string + value?: StringFilter<"verification"> | string + expiresAt?: DateTimeFilter<"verification"> | Date | string + createdAt?: DateTimeNullableFilter<"verification"> | Date | string | null + updatedAt?: DateTimeNullableFilter<"verification"> | Date | string | null + } + + export type verificationOrderByWithRelationInput = { + id?: SortOrder + identifier?: SortOrder + value?: SortOrder + expiresAt?: SortOrder + createdAt?: SortOrderInput | SortOrder + updatedAt?: SortOrderInput | SortOrder + } + + export type verificationWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: verificationWhereInput | verificationWhereInput[] + OR?: verificationWhereInput[] + NOT?: verificationWhereInput | verificationWhereInput[] + identifier?: StringFilter<"verification"> | string + value?: StringFilter<"verification"> | string + expiresAt?: DateTimeFilter<"verification"> | Date | string + createdAt?: DateTimeNullableFilter<"verification"> | Date | string | null + updatedAt?: DateTimeNullableFilter<"verification"> | Date | string | null + }, "id"> + + export type verificationOrderByWithAggregationInput = { + id?: SortOrder + identifier?: SortOrder + value?: SortOrder + expiresAt?: SortOrder + createdAt?: SortOrderInput | SortOrder + updatedAt?: SortOrderInput | SortOrder + _count?: verificationCountOrderByAggregateInput + _max?: verificationMaxOrderByAggregateInput + _min?: verificationMinOrderByAggregateInput + } + + export type verificationScalarWhereWithAggregatesInput = { + AND?: verificationScalarWhereWithAggregatesInput | verificationScalarWhereWithAggregatesInput[] + OR?: verificationScalarWhereWithAggregatesInput[] + NOT?: verificationScalarWhereWithAggregatesInput | verificationScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"verification"> | string + identifier?: StringWithAggregatesFilter<"verification"> | string + value?: StringWithAggregatesFilter<"verification"> | string + expiresAt?: DateTimeWithAggregatesFilter<"verification"> | Date | string + createdAt?: DateTimeNullableWithAggregatesFilter<"verification"> | Date | string | null + updatedAt?: DateTimeNullableWithAggregatesFilter<"verification"> | Date | string | null + } + + export type accountCreateInput = { + id: string + accountId: string + providerId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt: Date | string + updatedAt: Date | string + user: userCreateNestedOneWithoutAccountInput + } + + export type accountUncheckedCreateInput = { + id: string + accountId: string + providerId: string + userId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt: Date | string + updatedAt: Date | string + } + + export type accountUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + accountId?: StringFieldUpdateOperationsInput | string + providerId?: StringFieldUpdateOperationsInput | string + accessToken?: NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: NullableStringFieldUpdateOperationsInput | string | null + idToken?: NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: NullableStringFieldUpdateOperationsInput | string | null + password?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: userUpdateOneRequiredWithoutAccountNestedInput + } + + export type accountUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + accountId?: StringFieldUpdateOperationsInput | string + providerId?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + accessToken?: NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: NullableStringFieldUpdateOperationsInput | string | null + idToken?: NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: NullableStringFieldUpdateOperationsInput | string | null + password?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type accountCreateManyInput = { + id: string + accountId: string + providerId: string + userId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt: Date | string + updatedAt: Date | string + } + + export type accountUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + accountId?: StringFieldUpdateOperationsInput | string + providerId?: StringFieldUpdateOperationsInput | string + accessToken?: NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: NullableStringFieldUpdateOperationsInput | string | null + idToken?: NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: NullableStringFieldUpdateOperationsInput | string | null + password?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type accountUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + accountId?: StringFieldUpdateOperationsInput | string + providerId?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + accessToken?: NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: NullableStringFieldUpdateOperationsInput | string | null + idToken?: NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: NullableStringFieldUpdateOperationsInput | string | null + password?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type passkeyCreateInput = { + id: string + name?: string | null + publicKey: string + credentialID: string + counter: number + deviceType: string + backedUp: boolean + transports?: string | null + createdAt?: Date | string | null + user: userCreateNestedOneWithoutPasskeyInput + } + + export type passkeyUncheckedCreateInput = { + id: string + name?: string | null + publicKey: string + userId: string + credentialID: string + counter: number + deviceType: string + backedUp: boolean + transports?: string | null + createdAt?: Date | string | null + } + + export type passkeyUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + publicKey?: StringFieldUpdateOperationsInput | string + credentialID?: StringFieldUpdateOperationsInput | string + counter?: IntFieldUpdateOperationsInput | number + deviceType?: StringFieldUpdateOperationsInput | string + backedUp?: BoolFieldUpdateOperationsInput | boolean + transports?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + user?: userUpdateOneRequiredWithoutPasskeyNestedInput + } + + export type passkeyUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + publicKey?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + credentialID?: StringFieldUpdateOperationsInput | string + counter?: IntFieldUpdateOperationsInput | number + deviceType?: StringFieldUpdateOperationsInput | string + backedUp?: BoolFieldUpdateOperationsInput | boolean + transports?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type passkeyCreateManyInput = { + id: string + name?: string | null + publicKey: string + userId: string + credentialID: string + counter: number + deviceType: string + backedUp: boolean + transports?: string | null + createdAt?: Date | string | null + } + + export type passkeyUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + publicKey?: StringFieldUpdateOperationsInput | string + credentialID?: StringFieldUpdateOperationsInput | string + counter?: IntFieldUpdateOperationsInput | number + deviceType?: StringFieldUpdateOperationsInput | string + backedUp?: BoolFieldUpdateOperationsInput | boolean + transports?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type passkeyUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + publicKey?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + credentialID?: StringFieldUpdateOperationsInput | string + counter?: IntFieldUpdateOperationsInput | number + deviceType?: StringFieldUpdateOperationsInput | string + backedUp?: BoolFieldUpdateOperationsInput | boolean + transports?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type sessionCreateInput = { + id: string + expiresAt: Date | string + token: string + createdAt: Date | string + updatedAt: Date | string + ipAddress?: string | null + userAgent?: string | null + impersonatedBy?: string | null + user: userCreateNestedOneWithoutSessionInput + } + + export type sessionUncheckedCreateInput = { + id: string + expiresAt: Date | string + token: string + createdAt: Date | string + updatedAt: Date | string + ipAddress?: string | null + userAgent?: string | null + userId: string + impersonatedBy?: string | null + } + + export type sessionUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + token?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: NullableStringFieldUpdateOperationsInput | string | null + userAgent?: NullableStringFieldUpdateOperationsInput | string | null + impersonatedBy?: NullableStringFieldUpdateOperationsInput | string | null + user?: userUpdateOneRequiredWithoutSessionNestedInput + } + + export type sessionUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + token?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: NullableStringFieldUpdateOperationsInput | string | null + userAgent?: NullableStringFieldUpdateOperationsInput | string | null + userId?: StringFieldUpdateOperationsInput | string + impersonatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type sessionCreateManyInput = { + id: string + expiresAt: Date | string + token: string + createdAt: Date | string + updatedAt: Date | string + ipAddress?: string | null + userAgent?: string | null + userId: string + impersonatedBy?: string | null + } + + export type sessionUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + token?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: NullableStringFieldUpdateOperationsInput | string | null + userAgent?: NullableStringFieldUpdateOperationsInput | string | null + impersonatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type sessionUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + token?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: NullableStringFieldUpdateOperationsInput | string | null + userAgent?: NullableStringFieldUpdateOperationsInput | string | null + userId?: StringFieldUpdateOperationsInput | string + impersonatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type userCreateInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + account?: accountCreateNestedManyWithoutUserInput + passkey?: passkeyCreateNestedManyWithoutUserInput + session?: sessionCreateNestedManyWithoutUserInput + } + + export type userUncheckedCreateInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + account?: accountUncheckedCreateNestedManyWithoutUserInput + passkey?: passkeyUncheckedCreateNestedManyWithoutUserInput + session?: sessionUncheckedCreateNestedManyWithoutUserInput + } + + export type userUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + account?: accountUpdateManyWithoutUserNestedInput + passkey?: passkeyUpdateManyWithoutUserNestedInput + session?: sessionUpdateManyWithoutUserNestedInput + } + + export type userUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + account?: accountUncheckedUpdateManyWithoutUserNestedInput + passkey?: passkeyUncheckedUpdateManyWithoutUserNestedInput + session?: sessionUncheckedUpdateManyWithoutUserNestedInput + } + + export type userCreateManyInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + } + + export type userUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type userUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type verificationCreateInput = { + id: string + identifier: string + value: string + expiresAt: Date | string + createdAt?: Date | string | null + updatedAt?: Date | string | null + } + + export type verificationUncheckedCreateInput = { + id: string + identifier: string + value: string + expiresAt: Date | string + createdAt?: Date | string | null + updatedAt?: Date | string | null + } + + export type verificationUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + identifier?: StringFieldUpdateOperationsInput | string + value?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type verificationUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + identifier?: StringFieldUpdateOperationsInput | string + value?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type verificationCreateManyInput = { + id: string + identifier: string + value: string + expiresAt: Date | string + createdAt?: Date | string | null + updatedAt?: Date | string | null + } + + export type verificationUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + identifier?: StringFieldUpdateOperationsInput | string + value?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type verificationUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + identifier?: StringFieldUpdateOperationsInput | string + value?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + updatedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type StringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringFilter<$PrismaModel> | string + } + + export type StringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type DateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + + export type DateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + + export type UserScalarRelationFilter = { + is?: userWhereInput + isNot?: userWhereInput + } + + export type SortOrderInput = { + sort: SortOrder + nulls?: NullsOrder + } + + export type accountCountOrderByAggregateInput = { + id?: SortOrder + accountId?: SortOrder + providerId?: SortOrder + userId?: SortOrder + accessToken?: SortOrder + refreshToken?: SortOrder + idToken?: SortOrder + accessTokenExpiresAt?: SortOrder + refreshTokenExpiresAt?: SortOrder + scope?: SortOrder + password?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type accountMaxOrderByAggregateInput = { + id?: SortOrder + accountId?: SortOrder + providerId?: SortOrder + userId?: SortOrder + accessToken?: SortOrder + refreshToken?: SortOrder + idToken?: SortOrder + accessTokenExpiresAt?: SortOrder + refreshTokenExpiresAt?: SortOrder + scope?: SortOrder + password?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type accountMinOrderByAggregateInput = { + id?: SortOrder + accountId?: SortOrder + providerId?: SortOrder + userId?: SortOrder + accessToken?: SortOrder + refreshToken?: SortOrder + idToken?: SortOrder + accessTokenExpiresAt?: SortOrder + refreshTokenExpiresAt?: SortOrder + scope?: SortOrder + password?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type StringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + + export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + + export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + + export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + + export type IntFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntFilter<$PrismaModel> | number + } + + export type BoolFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolFilter<$PrismaModel> | boolean + } + + export type passkeyCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + publicKey?: SortOrder + userId?: SortOrder + credentialID?: SortOrder + counter?: SortOrder + deviceType?: SortOrder + backedUp?: SortOrder + transports?: SortOrder + createdAt?: SortOrder + } + + export type passkeyAvgOrderByAggregateInput = { + counter?: SortOrder + } + + export type passkeyMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + publicKey?: SortOrder + userId?: SortOrder + credentialID?: SortOrder + counter?: SortOrder + deviceType?: SortOrder + backedUp?: SortOrder + transports?: SortOrder + createdAt?: SortOrder + } + + export type passkeyMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + publicKey?: SortOrder + userId?: SortOrder + credentialID?: SortOrder + counter?: SortOrder + deviceType?: SortOrder + backedUp?: SortOrder + transports?: SortOrder + createdAt?: SortOrder + } + + export type passkeySumOrderByAggregateInput = { + counter?: SortOrder + } + + export type IntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedIntFilter<$PrismaModel> + _min?: NestedIntFilter<$PrismaModel> + _max?: NestedIntFilter<$PrismaModel> + } + + export type BoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedBoolFilter<$PrismaModel> + _max?: NestedBoolFilter<$PrismaModel> + } + + export type sessionCountOrderByAggregateInput = { + id?: SortOrder + expiresAt?: SortOrder + token?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + ipAddress?: SortOrder + userAgent?: SortOrder + userId?: SortOrder + impersonatedBy?: SortOrder + } + + export type sessionMaxOrderByAggregateInput = { + id?: SortOrder + expiresAt?: SortOrder + token?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + ipAddress?: SortOrder + userAgent?: SortOrder + userId?: SortOrder + impersonatedBy?: SortOrder + } + + export type sessionMinOrderByAggregateInput = { + id?: SortOrder + expiresAt?: SortOrder + token?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + ipAddress?: SortOrder + userAgent?: SortOrder + userId?: SortOrder + impersonatedBy?: SortOrder + } + + export type BoolNullableFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null + not?: NestedBoolNullableFilter<$PrismaModel> | boolean | null + } + + export type AccountListRelationFilter = { + every?: accountWhereInput + some?: accountWhereInput + none?: accountWhereInput + } + + export type PasskeyListRelationFilter = { + every?: passkeyWhereInput + some?: passkeyWhereInput + none?: passkeyWhereInput + } + + export type SessionListRelationFilter = { + every?: sessionWhereInput + some?: sessionWhereInput + none?: sessionWhereInput + } + + export type accountOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type passkeyOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type sessionOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type userCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + email?: SortOrder + emailVerified?: SortOrder + image?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + username?: SortOrder + displayUsername?: SortOrder + role?: SortOrder + banned?: SortOrder + banReason?: SortOrder + banExpires?: SortOrder + } + + export type userMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + email?: SortOrder + emailVerified?: SortOrder + image?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + username?: SortOrder + displayUsername?: SortOrder + role?: SortOrder + banned?: SortOrder + banReason?: SortOrder + banExpires?: SortOrder + } + + export type userMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + email?: SortOrder + emailVerified?: SortOrder + image?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + username?: SortOrder + displayUsername?: SortOrder + role?: SortOrder + banned?: SortOrder + banReason?: SortOrder + banExpires?: SortOrder + } + + export type BoolNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null + not?: NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedBoolNullableFilter<$PrismaModel> + _max?: NestedBoolNullableFilter<$PrismaModel> + } + + export type verificationCountOrderByAggregateInput = { + id?: SortOrder + identifier?: SortOrder + value?: SortOrder + expiresAt?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type verificationMaxOrderByAggregateInput = { + id?: SortOrder + identifier?: SortOrder + value?: SortOrder + expiresAt?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type verificationMinOrderByAggregateInput = { + id?: SortOrder + identifier?: SortOrder + value?: SortOrder + expiresAt?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type userCreateNestedOneWithoutAccountInput = { + create?: XOR + connectOrCreate?: userCreateOrConnectWithoutAccountInput + connect?: userWhereUniqueInput + } + + export type StringFieldUpdateOperationsInput = { + set?: string + } + + export type NullableStringFieldUpdateOperationsInput = { + set?: string | null + } + + export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null + } + + export type DateTimeFieldUpdateOperationsInput = { + set?: Date | string + } + + export type userUpdateOneRequiredWithoutAccountNestedInput = { + create?: XOR + connectOrCreate?: userCreateOrConnectWithoutAccountInput + upsert?: userUpsertWithoutAccountInput + connect?: userWhereUniqueInput + update?: XOR, userUncheckedUpdateWithoutAccountInput> + } + + export type userCreateNestedOneWithoutPasskeyInput = { + create?: XOR + connectOrCreate?: userCreateOrConnectWithoutPasskeyInput + connect?: userWhereUniqueInput + } + + export type IntFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type BoolFieldUpdateOperationsInput = { + set?: boolean + } + + export type userUpdateOneRequiredWithoutPasskeyNestedInput = { + create?: XOR + connectOrCreate?: userCreateOrConnectWithoutPasskeyInput + upsert?: userUpsertWithoutPasskeyInput + connect?: userWhereUniqueInput + update?: XOR, userUncheckedUpdateWithoutPasskeyInput> + } + + export type userCreateNestedOneWithoutSessionInput = { + create?: XOR + connectOrCreate?: userCreateOrConnectWithoutSessionInput + connect?: userWhereUniqueInput + } + + export type userUpdateOneRequiredWithoutSessionNestedInput = { + create?: XOR + connectOrCreate?: userCreateOrConnectWithoutSessionInput + upsert?: userUpsertWithoutSessionInput + connect?: userWhereUniqueInput + update?: XOR, userUncheckedUpdateWithoutSessionInput> + } + + export type accountCreateNestedManyWithoutUserInput = { + create?: XOR | accountCreateWithoutUserInput[] | accountUncheckedCreateWithoutUserInput[] + connectOrCreate?: accountCreateOrConnectWithoutUserInput | accountCreateOrConnectWithoutUserInput[] + createMany?: accountCreateManyUserInputEnvelope + connect?: accountWhereUniqueInput | accountWhereUniqueInput[] + } + + export type passkeyCreateNestedManyWithoutUserInput = { + create?: XOR | passkeyCreateWithoutUserInput[] | passkeyUncheckedCreateWithoutUserInput[] + connectOrCreate?: passkeyCreateOrConnectWithoutUserInput | passkeyCreateOrConnectWithoutUserInput[] + createMany?: passkeyCreateManyUserInputEnvelope + connect?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + } + + export type sessionCreateNestedManyWithoutUserInput = { + create?: XOR | sessionCreateWithoutUserInput[] | sessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: sessionCreateOrConnectWithoutUserInput | sessionCreateOrConnectWithoutUserInput[] + createMany?: sessionCreateManyUserInputEnvelope + connect?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + } + + export type accountUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | accountCreateWithoutUserInput[] | accountUncheckedCreateWithoutUserInput[] + connectOrCreate?: accountCreateOrConnectWithoutUserInput | accountCreateOrConnectWithoutUserInput[] + createMany?: accountCreateManyUserInputEnvelope + connect?: accountWhereUniqueInput | accountWhereUniqueInput[] + } + + export type passkeyUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | passkeyCreateWithoutUserInput[] | passkeyUncheckedCreateWithoutUserInput[] + connectOrCreate?: passkeyCreateOrConnectWithoutUserInput | passkeyCreateOrConnectWithoutUserInput[] + createMany?: passkeyCreateManyUserInputEnvelope + connect?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + } + + export type sessionUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | sessionCreateWithoutUserInput[] | sessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: sessionCreateOrConnectWithoutUserInput | sessionCreateOrConnectWithoutUserInput[] + createMany?: sessionCreateManyUserInputEnvelope + connect?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + } + + export type NullableBoolFieldUpdateOperationsInput = { + set?: boolean | null + } + + export type accountUpdateManyWithoutUserNestedInput = { + create?: XOR | accountCreateWithoutUserInput[] | accountUncheckedCreateWithoutUserInput[] + connectOrCreate?: accountCreateOrConnectWithoutUserInput | accountCreateOrConnectWithoutUserInput[] + upsert?: accountUpsertWithWhereUniqueWithoutUserInput | accountUpsertWithWhereUniqueWithoutUserInput[] + createMany?: accountCreateManyUserInputEnvelope + set?: accountWhereUniqueInput | accountWhereUniqueInput[] + disconnect?: accountWhereUniqueInput | accountWhereUniqueInput[] + delete?: accountWhereUniqueInput | accountWhereUniqueInput[] + connect?: accountWhereUniqueInput | accountWhereUniqueInput[] + update?: accountUpdateWithWhereUniqueWithoutUserInput | accountUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: accountUpdateManyWithWhereWithoutUserInput | accountUpdateManyWithWhereWithoutUserInput[] + deleteMany?: accountScalarWhereInput | accountScalarWhereInput[] + } + + export type passkeyUpdateManyWithoutUserNestedInput = { + create?: XOR | passkeyCreateWithoutUserInput[] | passkeyUncheckedCreateWithoutUserInput[] + connectOrCreate?: passkeyCreateOrConnectWithoutUserInput | passkeyCreateOrConnectWithoutUserInput[] + upsert?: passkeyUpsertWithWhereUniqueWithoutUserInput | passkeyUpsertWithWhereUniqueWithoutUserInput[] + createMany?: passkeyCreateManyUserInputEnvelope + set?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + disconnect?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + delete?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + connect?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + update?: passkeyUpdateWithWhereUniqueWithoutUserInput | passkeyUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: passkeyUpdateManyWithWhereWithoutUserInput | passkeyUpdateManyWithWhereWithoutUserInput[] + deleteMany?: passkeyScalarWhereInput | passkeyScalarWhereInput[] + } + + export type sessionUpdateManyWithoutUserNestedInput = { + create?: XOR | sessionCreateWithoutUserInput[] | sessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: sessionCreateOrConnectWithoutUserInput | sessionCreateOrConnectWithoutUserInput[] + upsert?: sessionUpsertWithWhereUniqueWithoutUserInput | sessionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: sessionCreateManyUserInputEnvelope + set?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + disconnect?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + delete?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + connect?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + update?: sessionUpdateWithWhereUniqueWithoutUserInput | sessionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: sessionUpdateManyWithWhereWithoutUserInput | sessionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: sessionScalarWhereInput | sessionScalarWhereInput[] + } + + export type accountUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | accountCreateWithoutUserInput[] | accountUncheckedCreateWithoutUserInput[] + connectOrCreate?: accountCreateOrConnectWithoutUserInput | accountCreateOrConnectWithoutUserInput[] + upsert?: accountUpsertWithWhereUniqueWithoutUserInput | accountUpsertWithWhereUniqueWithoutUserInput[] + createMany?: accountCreateManyUserInputEnvelope + set?: accountWhereUniqueInput | accountWhereUniqueInput[] + disconnect?: accountWhereUniqueInput | accountWhereUniqueInput[] + delete?: accountWhereUniqueInput | accountWhereUniqueInput[] + connect?: accountWhereUniqueInput | accountWhereUniqueInput[] + update?: accountUpdateWithWhereUniqueWithoutUserInput | accountUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: accountUpdateManyWithWhereWithoutUserInput | accountUpdateManyWithWhereWithoutUserInput[] + deleteMany?: accountScalarWhereInput | accountScalarWhereInput[] + } + + export type passkeyUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | passkeyCreateWithoutUserInput[] | passkeyUncheckedCreateWithoutUserInput[] + connectOrCreate?: passkeyCreateOrConnectWithoutUserInput | passkeyCreateOrConnectWithoutUserInput[] + upsert?: passkeyUpsertWithWhereUniqueWithoutUserInput | passkeyUpsertWithWhereUniqueWithoutUserInput[] + createMany?: passkeyCreateManyUserInputEnvelope + set?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + disconnect?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + delete?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + connect?: passkeyWhereUniqueInput | passkeyWhereUniqueInput[] + update?: passkeyUpdateWithWhereUniqueWithoutUserInput | passkeyUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: passkeyUpdateManyWithWhereWithoutUserInput | passkeyUpdateManyWithWhereWithoutUserInput[] + deleteMany?: passkeyScalarWhereInput | passkeyScalarWhereInput[] + } + + export type sessionUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | sessionCreateWithoutUserInput[] | sessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: sessionCreateOrConnectWithoutUserInput | sessionCreateOrConnectWithoutUserInput[] + upsert?: sessionUpsertWithWhereUniqueWithoutUserInput | sessionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: sessionCreateManyUserInputEnvelope + set?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + disconnect?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + delete?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + connect?: sessionWhereUniqueInput | sessionWhereUniqueInput[] + update?: sessionUpdateWithWhereUniqueWithoutUserInput | sessionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: sessionUpdateManyWithWhereWithoutUserInput | sessionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: sessionScalarWhereInput | sessionScalarWhereInput[] + } + + export type NestedStringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringFilter<$PrismaModel> | string + } + + export type NestedStringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type NestedDateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + + export type NestedDateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + + export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + + export type NestedIntFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntFilter<$PrismaModel> | number + } + + export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + + export type NestedIntNullableFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableFilter<$PrismaModel> | number | null + } + + export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + + export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + + export type NestedBoolFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolFilter<$PrismaModel> | boolean + } + + export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedIntFilter<$PrismaModel> + _min?: NestedIntFilter<$PrismaModel> + _max?: NestedIntFilter<$PrismaModel> + } + + export type NestedFloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + + export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedBoolFilter<$PrismaModel> + _max?: NestedBoolFilter<$PrismaModel> + } + + export type NestedBoolNullableFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null + not?: NestedBoolNullableFilter<$PrismaModel> | boolean | null + } + + export type NestedBoolNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null + not?: NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedBoolNullableFilter<$PrismaModel> + _max?: NestedBoolNullableFilter<$PrismaModel> + } + + export type userCreateWithoutAccountInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + passkey?: passkeyCreateNestedManyWithoutUserInput + session?: sessionCreateNestedManyWithoutUserInput + } + + export type userUncheckedCreateWithoutAccountInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + passkey?: passkeyUncheckedCreateNestedManyWithoutUserInput + session?: sessionUncheckedCreateNestedManyWithoutUserInput + } + + export type userCreateOrConnectWithoutAccountInput = { + where: userWhereUniqueInput + create: XOR + } + + export type userUpsertWithoutAccountInput = { + update: XOR + create: XOR + where?: userWhereInput + } + + export type userUpdateToOneWithWhereWithoutAccountInput = { + where?: userWhereInput + data: XOR + } + + export type userUpdateWithoutAccountInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + passkey?: passkeyUpdateManyWithoutUserNestedInput + session?: sessionUpdateManyWithoutUserNestedInput + } + + export type userUncheckedUpdateWithoutAccountInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + passkey?: passkeyUncheckedUpdateManyWithoutUserNestedInput + session?: sessionUncheckedUpdateManyWithoutUserNestedInput + } + + export type userCreateWithoutPasskeyInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + account?: accountCreateNestedManyWithoutUserInput + session?: sessionCreateNestedManyWithoutUserInput + } + + export type userUncheckedCreateWithoutPasskeyInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + account?: accountUncheckedCreateNestedManyWithoutUserInput + session?: sessionUncheckedCreateNestedManyWithoutUserInput + } + + export type userCreateOrConnectWithoutPasskeyInput = { + where: userWhereUniqueInput + create: XOR + } + + export type userUpsertWithoutPasskeyInput = { + update: XOR + create: XOR + where?: userWhereInput + } + + export type userUpdateToOneWithWhereWithoutPasskeyInput = { + where?: userWhereInput + data: XOR + } + + export type userUpdateWithoutPasskeyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + account?: accountUpdateManyWithoutUserNestedInput + session?: sessionUpdateManyWithoutUserNestedInput + } + + export type userUncheckedUpdateWithoutPasskeyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + account?: accountUncheckedUpdateManyWithoutUserNestedInput + session?: sessionUncheckedUpdateManyWithoutUserNestedInput + } + + export type userCreateWithoutSessionInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + account?: accountCreateNestedManyWithoutUserInput + passkey?: passkeyCreateNestedManyWithoutUserInput + } + + export type userUncheckedCreateWithoutSessionInput = { + id: string + name: string + email: string + emailVerified: boolean + image?: string | null + createdAt: Date | string + updatedAt: Date | string + username?: string | null + displayUsername?: string | null + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + account?: accountUncheckedCreateNestedManyWithoutUserInput + passkey?: passkeyUncheckedCreateNestedManyWithoutUserInput + } + + export type userCreateOrConnectWithoutSessionInput = { + where: userWhereUniqueInput + create: XOR + } + + export type userUpsertWithoutSessionInput = { + update: XOR + create: XOR + where?: userWhereInput + } + + export type userUpdateToOneWithWhereWithoutSessionInput = { + where?: userWhereInput + data: XOR + } + + export type userUpdateWithoutSessionInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + account?: accountUpdateManyWithoutUserNestedInput + passkey?: passkeyUpdateManyWithoutUserNestedInput + } + + export type userUncheckedUpdateWithoutSessionInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + emailVerified?: BoolFieldUpdateOperationsInput | boolean + image?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + username?: NullableStringFieldUpdateOperationsInput | string | null + displayUsername?: NullableStringFieldUpdateOperationsInput | string | null + role?: NullableStringFieldUpdateOperationsInput | string | null + banned?: NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: NullableStringFieldUpdateOperationsInput | string | null + banExpires?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + account?: accountUncheckedUpdateManyWithoutUserNestedInput + passkey?: passkeyUncheckedUpdateManyWithoutUserNestedInput + } + + export type accountCreateWithoutUserInput = { + id: string + accountId: string + providerId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt: Date | string + updatedAt: Date | string + } + + export type accountUncheckedCreateWithoutUserInput = { + id: string + accountId: string + providerId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt: Date | string + updatedAt: Date | string + } + + export type accountCreateOrConnectWithoutUserInput = { + where: accountWhereUniqueInput + create: XOR + } + + export type accountCreateManyUserInputEnvelope = { + data: accountCreateManyUserInput | accountCreateManyUserInput[] + skipDuplicates?: boolean + } + + export type passkeyCreateWithoutUserInput = { + id: string + name?: string | null + publicKey: string + credentialID: string + counter: number + deviceType: string + backedUp: boolean + transports?: string | null + createdAt?: Date | string | null + } + + export type passkeyUncheckedCreateWithoutUserInput = { + id: string + name?: string | null + publicKey: string + credentialID: string + counter: number + deviceType: string + backedUp: boolean + transports?: string | null + createdAt?: Date | string | null + } + + export type passkeyCreateOrConnectWithoutUserInput = { + where: passkeyWhereUniqueInput + create: XOR + } + + export type passkeyCreateManyUserInputEnvelope = { + data: passkeyCreateManyUserInput | passkeyCreateManyUserInput[] + skipDuplicates?: boolean + } + + export type sessionCreateWithoutUserInput = { + id: string + expiresAt: Date | string + token: string + createdAt: Date | string + updatedAt: Date | string + ipAddress?: string | null + userAgent?: string | null + impersonatedBy?: string | null + } + + export type sessionUncheckedCreateWithoutUserInput = { + id: string + expiresAt: Date | string + token: string + createdAt: Date | string + updatedAt: Date | string + ipAddress?: string | null + userAgent?: string | null + impersonatedBy?: string | null + } + + export type sessionCreateOrConnectWithoutUserInput = { + where: sessionWhereUniqueInput + create: XOR + } + + export type sessionCreateManyUserInputEnvelope = { + data: sessionCreateManyUserInput | sessionCreateManyUserInput[] + skipDuplicates?: boolean + } + + export type accountUpsertWithWhereUniqueWithoutUserInput = { + where: accountWhereUniqueInput + update: XOR + create: XOR + } + + export type accountUpdateWithWhereUniqueWithoutUserInput = { + where: accountWhereUniqueInput + data: XOR + } + + export type accountUpdateManyWithWhereWithoutUserInput = { + where: accountScalarWhereInput + data: XOR + } + + export type accountScalarWhereInput = { + AND?: accountScalarWhereInput | accountScalarWhereInput[] + OR?: accountScalarWhereInput[] + NOT?: accountScalarWhereInput | accountScalarWhereInput[] + id?: StringFilter<"account"> | string + accountId?: StringFilter<"account"> | string + providerId?: StringFilter<"account"> | string + userId?: StringFilter<"account"> | string + accessToken?: StringNullableFilter<"account"> | string | null + refreshToken?: StringNullableFilter<"account"> | string | null + idToken?: StringNullableFilter<"account"> | string | null + accessTokenExpiresAt?: DateTimeNullableFilter<"account"> | Date | string | null + refreshTokenExpiresAt?: DateTimeNullableFilter<"account"> | Date | string | null + scope?: StringNullableFilter<"account"> | string | null + password?: StringNullableFilter<"account"> | string | null + createdAt?: DateTimeFilter<"account"> | Date | string + updatedAt?: DateTimeFilter<"account"> | Date | string + } + + export type passkeyUpsertWithWhereUniqueWithoutUserInput = { + where: passkeyWhereUniqueInput + update: XOR + create: XOR + } + + export type passkeyUpdateWithWhereUniqueWithoutUserInput = { + where: passkeyWhereUniqueInput + data: XOR + } + + export type passkeyUpdateManyWithWhereWithoutUserInput = { + where: passkeyScalarWhereInput + data: XOR + } + + export type passkeyScalarWhereInput = { + AND?: passkeyScalarWhereInput | passkeyScalarWhereInput[] + OR?: passkeyScalarWhereInput[] + NOT?: passkeyScalarWhereInput | passkeyScalarWhereInput[] + id?: StringFilter<"passkey"> | string + name?: StringNullableFilter<"passkey"> | string | null + publicKey?: StringFilter<"passkey"> | string + userId?: StringFilter<"passkey"> | string + credentialID?: StringFilter<"passkey"> | string + counter?: IntFilter<"passkey"> | number + deviceType?: StringFilter<"passkey"> | string + backedUp?: BoolFilter<"passkey"> | boolean + transports?: StringNullableFilter<"passkey"> | string | null + createdAt?: DateTimeNullableFilter<"passkey"> | Date | string | null + } + + export type sessionUpsertWithWhereUniqueWithoutUserInput = { + where: sessionWhereUniqueInput + update: XOR + create: XOR + } + + export type sessionUpdateWithWhereUniqueWithoutUserInput = { + where: sessionWhereUniqueInput + data: XOR + } + + export type sessionUpdateManyWithWhereWithoutUserInput = { + where: sessionScalarWhereInput + data: XOR + } + + export type sessionScalarWhereInput = { + AND?: sessionScalarWhereInput | sessionScalarWhereInput[] + OR?: sessionScalarWhereInput[] + NOT?: sessionScalarWhereInput | sessionScalarWhereInput[] + id?: StringFilter<"session"> | string + expiresAt?: DateTimeFilter<"session"> | Date | string + token?: StringFilter<"session"> | string + createdAt?: DateTimeFilter<"session"> | Date | string + updatedAt?: DateTimeFilter<"session"> | Date | string + ipAddress?: StringNullableFilter<"session"> | string | null + userAgent?: StringNullableFilter<"session"> | string | null + userId?: StringFilter<"session"> | string + impersonatedBy?: StringNullableFilter<"session"> | string | null + } + + export type accountCreateManyUserInput = { + id: string + accountId: string + providerId: string + accessToken?: string | null + refreshToken?: string | null + idToken?: string | null + accessTokenExpiresAt?: Date | string | null + refreshTokenExpiresAt?: Date | string | null + scope?: string | null + password?: string | null + createdAt: Date | string + updatedAt: Date | string + } + + export type passkeyCreateManyUserInput = { + id: string + name?: string | null + publicKey: string + credentialID: string + counter: number + deviceType: string + backedUp: boolean + transports?: string | null + createdAt?: Date | string | null + } + + export type sessionCreateManyUserInput = { + id: string + expiresAt: Date | string + token: string + createdAt: Date | string + updatedAt: Date | string + ipAddress?: string | null + userAgent?: string | null + impersonatedBy?: string | null + } + + export type accountUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + accountId?: StringFieldUpdateOperationsInput | string + providerId?: StringFieldUpdateOperationsInput | string + accessToken?: NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: NullableStringFieldUpdateOperationsInput | string | null + idToken?: NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: NullableStringFieldUpdateOperationsInput | string | null + password?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type accountUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + accountId?: StringFieldUpdateOperationsInput | string + providerId?: StringFieldUpdateOperationsInput | string + accessToken?: NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: NullableStringFieldUpdateOperationsInput | string | null + idToken?: NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: NullableStringFieldUpdateOperationsInput | string | null + password?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type accountUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + accountId?: StringFieldUpdateOperationsInput | string + providerId?: StringFieldUpdateOperationsInput | string + accessToken?: NullableStringFieldUpdateOperationsInput | string | null + refreshToken?: NullableStringFieldUpdateOperationsInput | string | null + idToken?: NullableStringFieldUpdateOperationsInput | string | null + accessTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + refreshTokenExpiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + scope?: NullableStringFieldUpdateOperationsInput | string | null + password?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type passkeyUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + publicKey?: StringFieldUpdateOperationsInput | string + credentialID?: StringFieldUpdateOperationsInput | string + counter?: IntFieldUpdateOperationsInput | number + deviceType?: StringFieldUpdateOperationsInput | string + backedUp?: BoolFieldUpdateOperationsInput | boolean + transports?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type passkeyUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + publicKey?: StringFieldUpdateOperationsInput | string + credentialID?: StringFieldUpdateOperationsInput | string + counter?: IntFieldUpdateOperationsInput | number + deviceType?: StringFieldUpdateOperationsInput | string + backedUp?: BoolFieldUpdateOperationsInput | boolean + transports?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type passkeyUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + publicKey?: StringFieldUpdateOperationsInput | string + credentialID?: StringFieldUpdateOperationsInput | string + counter?: IntFieldUpdateOperationsInput | number + deviceType?: StringFieldUpdateOperationsInput | string + backedUp?: BoolFieldUpdateOperationsInput | boolean + transports?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type sessionUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + token?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: NullableStringFieldUpdateOperationsInput | string | null + userAgent?: NullableStringFieldUpdateOperationsInput | string | null + impersonatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type sessionUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + token?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: NullableStringFieldUpdateOperationsInput | string | null + userAgent?: NullableStringFieldUpdateOperationsInput | string | null + impersonatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type sessionUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + token?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + ipAddress?: NullableStringFieldUpdateOperationsInput | string | null + userAgent?: NullableStringFieldUpdateOperationsInput | string | null + impersonatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + + + /** + * Batch Payload for updateMany & deleteMany & createMany + */ + + export type BatchPayload = { + count: number + } + + /** + * DMMF + */ + export const dmmf: runtime.BaseDMMF +} \ No newline at end of file diff --git a/generated/prisma/index.js b/generated/prisma/index.js new file mode 100644 index 0000000..2e545da --- /dev/null +++ b/generated/prisma/index.js @@ -0,0 +1,277 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/library.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.7.0 + * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed + */ +Prisma.prismaVersion = { + client: "6.7.0", + engine: "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + const path = require('path') + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.AccountScalarFieldEnum = { + id: 'id', + accountId: 'accountId', + providerId: 'providerId', + userId: 'userId', + accessToken: 'accessToken', + refreshToken: 'refreshToken', + idToken: 'idToken', + accessTokenExpiresAt: 'accessTokenExpiresAt', + refreshTokenExpiresAt: 'refreshTokenExpiresAt', + scope: 'scope', + password: 'password', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.PasskeyScalarFieldEnum = { + id: 'id', + name: 'name', + publicKey: 'publicKey', + userId: 'userId', + credentialID: 'credentialID', + counter: 'counter', + deviceType: 'deviceType', + backedUp: 'backedUp', + transports: 'transports', + createdAt: 'createdAt' +}; + +exports.Prisma.SessionScalarFieldEnum = { + id: 'id', + expiresAt: 'expiresAt', + token: 'token', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + ipAddress: 'ipAddress', + userAgent: 'userAgent', + userId: 'userId', + impersonatedBy: 'impersonatedBy' +}; + +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + emailVerified: 'emailVerified', + image: 'image', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + username: 'username', + displayUsername: 'displayUsername', + role: 'role', + banned: 'banned', + banReason: 'banReason', + banExpires: 'banExpires' +}; + +exports.Prisma.VerificationScalarFieldEnum = { + id: 'id', + identifier: 'identifier', + value: 'value', + expiresAt: 'expiresAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; + + +exports.Prisma.ModelName = { + account: 'account', + passkey: 'passkey', + session: 'session', + user: 'user', + verification: 'verification' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "client", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "/Users/twentykal/Documents/git/eleboog-astro/generated/prisma", + "fromEnvVar": null + }, + "config": { + "engineType": "library" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "darwin-arm64", + "native": true + } + ], + "previewFeatures": [], + "sourceFilePath": "/Users/twentykal/Documents/git/eleboog-astro/prisma/schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": "../../.env", + "schemaEnvPath": "../../.env" + }, + "relativePath": "../../prisma", + "clientVersion": "6.7.0", + "engineVersion": "3cff47a7f5d65c3ea74883f1d736e41d68ce91ed", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "postinstall": false, + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n directUrl = env(\"DIRECT_URL\")\n}\n\nmodel account {\n id String @id\n accountId String\n providerId String\n userId String\n accessToken String?\n refreshToken String?\n idToken String?\n accessTokenExpiresAt DateTime? @db.Timestamp(6)\n refreshTokenExpiresAt DateTime? @db.Timestamp(6)\n scope String?\n password String?\n createdAt DateTime @db.Timestamp(6)\n updatedAt DateTime @db.Timestamp(6)\n user user @relation(fields: [userId], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel passkey {\n id String @id\n name String?\n publicKey String\n userId String\n credentialID String\n counter Int\n deviceType String\n backedUp Boolean\n transports String?\n createdAt DateTime? @db.Timestamp(6)\n user user @relation(fields: [userId], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel session {\n id String @id\n expiresAt DateTime @db.Timestamp(6)\n token String @unique\n createdAt DateTime @db.Timestamp(6)\n updatedAt DateTime @db.Timestamp(6)\n ipAddress String?\n userAgent String?\n userId String\n impersonatedBy String?\n user user @relation(fields: [userId], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel user {\n id String @id\n name String\n email String @unique\n emailVerified Boolean\n image String?\n createdAt DateTime @db.Timestamp(6)\n updatedAt DateTime @db.Timestamp(6)\n username String? @unique\n displayUsername String?\n role String?\n banned Boolean?\n banReason String?\n banExpires DateTime? @db.Timestamp(6)\n account account[]\n passkey passkey[]\n session session[]\n}\n\nmodel verification {\n id String @id\n identifier String\n value String\n expiresAt DateTime @db.Timestamp(6)\n createdAt DateTime? @db.Timestamp(6)\n updatedAt DateTime? @db.Timestamp(6)\n}\n", + "inlineSchemaHash": "3b86d26f7f8d8cac00318809c32f1d7aee4890f15043f29678a32ae30763c02e", + "copyEngine": true +} + +const fs = require('fs') + +config.dirname = __dirname +if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { + const alternativePaths = [ + "generated/prisma", + "prisma", + ] + + const alternativePath = alternativePaths.find((altPath) => { + return fs.existsSync(path.join(process.cwd(), altPath, 'schema.prisma')) + }) ?? alternativePaths[0] + + config.dirname = path.join(process.cwd(), alternativePath) + config.isBundled = true +} + +config.runtimeDataModel = JSON.parse("{\"models\":{\"account\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accountId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accessToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"refreshToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"idToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accessTokenExpiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"refreshTokenExpiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scope\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"user\",\"nativeType\":null,\"relationName\":\"accountTouser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"NoAction\",\"relationOnUpdate\":\"NoAction\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"passkey\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"publicKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"credentialID\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"counter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"backedUp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transports\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"user\",\"nativeType\":null,\"relationName\":\"passkeyTouser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"NoAction\",\"relationOnUpdate\":\"NoAction\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"session\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"impersonatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"user\",\"nativeType\":null,\"relationName\":\"sessionTouser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"NoAction\",\"relationOnUpdate\":\"NoAction\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"user\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"image\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"displayUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"banned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"banReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"banExpires\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"account\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"account\",\"nativeType\":null,\"relationName\":\"accountTouser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passkey\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"passkey\",\"nativeType\":null,\"relationName\":\"passkeyTouser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"session\",\"nativeType\":null,\"relationName\":\"sessionTouser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"verification\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identifier\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Timestamp\",[\"6\"]],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = undefined +config.compilerWasm = undefined + + +const { warnEnvConflicts } = require('./runtime/library.js') + +warnEnvConflicts({ + rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.rootEnvPath), + schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.schemaEnvPath) +}) + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + +// file annotations for bundling tools to include these files +path.join(__dirname, "libquery_engine-darwin-arm64.dylib.node"); +path.join(process.cwd(), "generated/prisma/libquery_engine-darwin-arm64.dylib.node") +// file annotations for bundling tools to include these files +path.join(__dirname, "schema.prisma"); +path.join(process.cwd(), "generated/prisma/schema.prisma") diff --git a/generated/prisma/libquery_engine-darwin-arm64.dylib.node b/generated/prisma/libquery_engine-darwin-arm64.dylib.node new file mode 100755 index 0000000000000000000000000000000000000000..b563b0910a658f6f40570afe4b97a79d15943dd2 GIT binary patch literal 19007328 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

8pT+>%F<_pqysWd-lavCsa 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

BV-R(XK-*a6hvFCWs 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