/** * 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 }