/** * 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 User * */ export type User = $Result.DefaultSelection /** * Model Account * */ export type Account = $Result.DefaultSelection /** * Model Token * */ export type Token = $Result.DefaultSelection /** * Enums */ export namespace $Enums { export const UserRole: { REGULAR: 'REGULAR', ADMIN: 'ADMIN' }; export type UserRole = (typeof UserRole)[keyof typeof UserRole] export const AuthMethod: { CREDENTIALS: 'CREDENTIALS', GOOGLE: 'GOOGLE', YANDEX: 'YANDEX' }; export type AuthMethod = (typeof AuthMethod)[keyof typeof AuthMethod] export const TokenType: { VERIFICATION: 'VERIFICATION', TWO_FACTOR: 'TWO_FACTOR', PASSWORD_RESET: 'PASSWORD_RESET' }; export type TokenType = (typeof TokenType)[keyof typeof TokenType] } export type UserRole = $Enums.UserRole export const UserRole: typeof $Enums.UserRole export type AuthMethod = $Enums.AuthMethod export const AuthMethod: typeof $Enums.AuthMethod export type TokenType = $Enums.TokenType export const TokenType: typeof $Enums.TokenType /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Users * const users = await prisma.user.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 Users * const users = await prisma.user.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): void; /** * 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> /** * `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.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.token`: Exposes CRUD operations for the **Token** model. * Example usage: * ```ts * // Fetch zero or more Tokens * const tokens = await prisma.token.findMany() * ``` */ get token(): Prisma.TokenDelegate; } 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 export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag */ export import sql = runtime.sqltag export import empty = runtime.empty export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql /** * Decimal.js */ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric export type MetricHistogram = runtime.MetricHistogram export type MetricHistogramBucket = runtime.MetricHistogramBucket /** * 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: 5.19.0 * Query Engine version: a9055b89e58b4b5bfb59600785423b1db3d0e75d */ 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 ? K : never]-?: O[P]} & O : never>; type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ export type Merge = ComputeRaw<_Merge>>; /** A [[Boolean]] */ export type Boolean = True | False // /** // 1 // */ export type True = 1 /** 0 */ export type False = 0 export type Not = { 0: 1 1: 0 }[B] export type Extends = [A1] extends [never] ? 0 // anything `never` is false : A1 extends A2 ? 1 : 0 export type Has = Not< Extends, U1> > export type Or = { 0: { 0: 0 1: 1 } 1: { 0: 1 1: 1 } }[B1][B2] export type Keys = U extends unknown ? keyof U : never type 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: { User: 'User', Account: 'Account', Token: 'Token' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] export type Datasources = { db?: Datasource } interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { meta: { modelProps: "user" | "account" | "token" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { 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 } 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 } } } 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 } 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 } } } Token: { payload: Prisma.$TokenPayload fields: Prisma.TokenFieldRefs operations: { findUnique: { args: Prisma.TokenFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.TokenFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.TokenFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.TokenFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.TokenFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.TokenCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.TokenCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.TokenCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.TokenDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.TokenUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.TokenDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.TokenUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.TokenUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.TokenAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.TokenGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.TokenCountArgs 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 } } /* 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' | '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 = { accounts: number } export type UserCountOutputTypeSelect = { accounts?: boolean | UserCountOutputTypeCountAccountsArgs } // Custom InputTypes /** * UserCountOutputType without action */ export type UserCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UserCountOutputType */ select?: UserCountOutputTypeSelect | null } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountAccountsArgs = { where?: AccountWhereInput } /** * Models */ /** * Model User */ export type AggregateUser = { _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } export type UserMinAggregateOutputType = { id: string | null email: string | null password: string | null displayName: string | null picture: string | null role: $Enums.UserRole | null isVerified: boolean | null isTwoFactorEnabled: boolean | null method: $Enums.AuthMethod | null createdAt: Date | null updatedAt: Date | null } export type UserMaxAggregateOutputType = { id: string | null email: string | null password: string | null displayName: string | null picture: string | null role: $Enums.UserRole | null isVerified: boolean | null isTwoFactorEnabled: boolean | null method: $Enums.AuthMethod | null createdAt: Date | null updatedAt: Date | null } export type UserCountAggregateOutputType = { id: number email: number password: number displayName: number picture: number role: number isVerified: number isTwoFactorEnabled: number method: number createdAt: number updatedAt: number _all: number } export type UserMinAggregateInputType = { id?: true email?: true password?: true displayName?: true picture?: true role?: true isVerified?: true isTwoFactorEnabled?: true method?: true createdAt?: true updatedAt?: true } export type UserMaxAggregateInputType = { id?: true email?: true password?: true displayName?: true picture?: true role?: true isVerified?: true isTwoFactorEnabled?: true method?: true createdAt?: true updatedAt?: true } export type UserCountAggregateInputType = { id?: true email?: true password?: true displayName?: true picture?: true role?: true isVerified?: true isTwoFactorEnabled?: true method?: true createdAt?: true updatedAt?: 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 email: string password: string displayName: string picture: string | null role: $Enums.UserRole isVerified: boolean isTwoFactorEnabled: boolean method: $Enums.AuthMethod createdAt: Date updatedAt: Date _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 email?: boolean password?: boolean displayName?: boolean picture?: boolean role?: boolean isVerified?: boolean isTwoFactorEnabled?: boolean method?: boolean createdAt?: boolean updatedAt?: boolean accounts?: boolean | User$accountsArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean email?: boolean password?: boolean displayName?: boolean picture?: boolean role?: boolean isVerified?: boolean isTwoFactorEnabled?: boolean method?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean email?: boolean password?: boolean displayName?: boolean picture?: boolean role?: boolean isVerified?: boolean isTwoFactorEnabled?: boolean method?: boolean createdAt?: boolean updatedAt?: boolean } export type UserInclude = { accounts?: boolean | User$accountsArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} export type $UserPayload = { name: "User" objects: { accounts: Prisma.$AccountPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string email: string password: string displayName: string picture: string | null role: $Enums.UserRole isVerified: boolean isTwoFactorEnabled: boolean method: $Enums.AuthMethod createdAt: Date updatedAt: Date }, 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"> | null, null, ExtArgs> /** * 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">, never, ExtArgs> /** * 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"> | null, null, ExtArgs> /** * 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">, never, ExtArgs> /** * 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">> /** * 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">, never, ExtArgs> /** * 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">> /** * 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">, never, ExtArgs> /** * 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">, never, ExtArgs> /** * 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 /** * 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">, never, ExtArgs> /** * 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" accounts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | 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 email: FieldRef<"User", 'String'> readonly password: FieldRef<"User", 'String'> readonly displayName: FieldRef<"User", 'String'> readonly picture: FieldRef<"User", 'String'> readonly role: FieldRef<"User", 'UserRole'> readonly isVerified: FieldRef<"User", 'Boolean'> readonly isTwoFactorEnabled: FieldRef<"User", 'Boolean'> readonly method: FieldRef<"User", 'AuthMethod'> readonly createdAt: FieldRef<"User", 'DateTime'> readonly updatedAt: FieldRef<"User", 'DateTime'> } // Custom InputTypes /** * User findUnique */ export type UserFindUniqueArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findUniqueOrThrow */ export type UserFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findFirst */ export type UserFindFirstArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: 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 /** * 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 /** * 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 /** * 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 /** * 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 /** * 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?: number } /** * User upsert */ export type UserUpsertArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The filter to search for the User to update in case it exists. */ where: UserWhereUniqueInput /** * In case the User found by the `where` argument doesn't exist, create a new User with this data. */ create: XOR /** * In case the User was found with the provided `where` argument, update it with this data. */ update: XOR } /** * User delete */ export type UserDeleteArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter which User to delete. */ where: UserWhereUniqueInput } /** * User deleteMany */ export type UserDeleteManyArgs = { /** * Filter which Users to delete */ where?: UserWhereInput limit?: number } /** * User.accounts */ export type User$accountsArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | 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 without action */ export type UserDefaultArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null } /** * Model Account */ export type AggregateAccount = { _count: AccountCountAggregateOutputType | null _avg: AccountAvgAggregateOutputType | null _sum: AccountSumAggregateOutputType | null _min: AccountMinAggregateOutputType | null _max: AccountMaxAggregateOutputType | null } export type AccountAvgAggregateOutputType = { expiresAt: number | null } export type AccountSumAggregateOutputType = { expiresAt: number | null } export type AccountMinAggregateOutputType = { id: string | null type: string | null provider: string | null refreshToken: string | null accessToken: string | null expiresAt: number | null createdAt: Date | null updatedAt: Date | null userId: string | null } export type AccountMaxAggregateOutputType = { id: string | null type: string | null provider: string | null refreshToken: string | null accessToken: string | null expiresAt: number | null createdAt: Date | null updatedAt: Date | null userId: string | null } export type AccountCountAggregateOutputType = { id: number type: number provider: number refreshToken: number accessToken: number expiresAt: number createdAt: number updatedAt: number userId: number _all: number } export type AccountAvgAggregateInputType = { expiresAt?: true } export type AccountSumAggregateInputType = { expiresAt?: true } export type AccountMinAggregateInputType = { id?: true type?: true provider?: true refreshToken?: true accessToken?: true expiresAt?: true createdAt?: true updatedAt?: true userId?: true } export type AccountMaxAggregateInputType = { id?: true type?: true provider?: true refreshToken?: true accessToken?: true expiresAt?: true createdAt?: true updatedAt?: true userId?: true } export type AccountCountAggregateInputType = { id?: true type?: true provider?: true refreshToken?: true accessToken?: true expiresAt?: true createdAt?: true updatedAt?: true userId?: 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 average **/ _avg?: AccountAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: AccountSumAggregateInputType /** * {@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 _avg?: AccountAvgAggregateInputType _sum?: AccountSumAggregateInputType _min?: AccountMinAggregateInputType _max?: AccountMaxAggregateInputType } export type AccountGroupByOutputType = { id: string type: string provider: string refreshToken: string | null accessToken: string | null expiresAt: number createdAt: Date updatedAt: Date userId: string | null _count: AccountCountAggregateOutputType | null _avg: AccountAvgAggregateOutputType | null _sum: AccountSumAggregateOutputType | 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 type?: boolean provider?: boolean refreshToken?: boolean accessToken?: boolean expiresAt?: boolean createdAt?: boolean updatedAt?: boolean userId?: boolean user?: boolean | Account$userArgs }, ExtArgs["result"]["account"]> export type AccountSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean type?: boolean provider?: boolean refreshToken?: boolean accessToken?: boolean expiresAt?: boolean createdAt?: boolean updatedAt?: boolean userId?: boolean user?: boolean | Account$userArgs }, ExtArgs["result"]["account"]> export type AccountSelectScalar = { id?: boolean type?: boolean provider?: boolean refreshToken?: boolean accessToken?: boolean expiresAt?: boolean createdAt?: boolean updatedAt?: boolean userId?: boolean } export type AccountInclude = { user?: boolean | Account$userArgs } export type AccountIncludeCreateManyAndReturn = { user?: boolean | Account$userArgs } export type $AccountPayload = { name: "Account" objects: { user: Prisma.$UserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string type: string provider: string refreshToken: string | null accessToken: string | null expiresAt: number createdAt: Date updatedAt: Date userId: string | null }, 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"> | null, null, ExtArgs> /** * 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">, never, ExtArgs> /** * 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"> | null, null, ExtArgs> /** * 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">, never, ExtArgs> /** * 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">> /** * 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">, never, ExtArgs> /** * 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">> /** * 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">, never, ExtArgs> /** * 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">, never, ExtArgs> /** * 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 /** * 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">, never, ExtArgs> /** * 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"> | null, null, ExtArgs> /** * 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 type: FieldRef<"Account", 'String'> readonly provider: FieldRef<"Account", 'String'> readonly refreshToken: FieldRef<"Account", 'String'> readonly accessToken: FieldRef<"Account", 'String'> readonly expiresAt: FieldRef<"Account", 'Int'> readonly createdAt: FieldRef<"Account", 'DateTime'> readonly updatedAt: FieldRef<"Account", 'DateTime'> readonly userId: FieldRef<"Account", 'String'> } // Custom InputTypes /** * Account findUnique */ export type AccountFindUniqueArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | 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 /** * 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 /** * 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 /** * 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 /** * 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 /** * 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 /** * 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 /** * 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?: number } /** * Account upsert */ export type AccountUpsertArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | 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 /** * 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?: number } /** * Account.user */ export type Account$userArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null where?: UserWhereInput } /** * Account without action */ export type AccountDefaultArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null } /** * Model Token */ export type AggregateToken = { _count: TokenCountAggregateOutputType | null _min: TokenMinAggregateOutputType | null _max: TokenMaxAggregateOutputType | null } export type TokenMinAggregateOutputType = { id: string | null email: string | null token: string | null type: $Enums.TokenType | null expiresIn: Date | null createdAt: Date | null } export type TokenMaxAggregateOutputType = { id: string | null email: string | null token: string | null type: $Enums.TokenType | null expiresIn: Date | null createdAt: Date | null } export type TokenCountAggregateOutputType = { id: number email: number token: number type: number expiresIn: number createdAt: number _all: number } export type TokenMinAggregateInputType = { id?: true email?: true token?: true type?: true expiresIn?: true createdAt?: true } export type TokenMaxAggregateInputType = { id?: true email?: true token?: true type?: true expiresIn?: true createdAt?: true } export type TokenCountAggregateInputType = { id?: true email?: true token?: true type?: true expiresIn?: true createdAt?: true _all?: true } export type TokenAggregateArgs = { /** * Filter which Token to aggregate. */ where?: TokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Tokens to fetch. */ orderBy?: TokenOrderByWithRelationInput | TokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: TokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Tokens 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` Tokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Tokens **/ _count?: true | TokenCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: TokenMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: TokenMaxAggregateInputType } export type GetTokenAggregateType = { [P in keyof T & keyof AggregateToken]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type TokenGroupByArgs = { where?: TokenWhereInput orderBy?: TokenOrderByWithAggregationInput | TokenOrderByWithAggregationInput[] by: TokenScalarFieldEnum[] | TokenScalarFieldEnum having?: TokenScalarWhereWithAggregatesInput take?: number skip?: number _count?: TokenCountAggregateInputType | true _min?: TokenMinAggregateInputType _max?: TokenMaxAggregateInputType } export type TokenGroupByOutputType = { id: string email: string token: string type: $Enums.TokenType expiresIn: Date createdAt: Date _count: TokenCountAggregateOutputType | null _min: TokenMinAggregateOutputType | null _max: TokenMaxAggregateOutputType | null } type GetTokenGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof TokenGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type TokenSelect = $Extensions.GetSelect<{ id?: boolean email?: boolean token?: boolean type?: boolean expiresIn?: boolean createdAt?: boolean }, ExtArgs["result"]["token"]> export type TokenSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean email?: boolean token?: boolean type?: boolean expiresIn?: boolean createdAt?: boolean }, ExtArgs["result"]["token"]> export type TokenSelectScalar = { id?: boolean email?: boolean token?: boolean type?: boolean expiresIn?: boolean createdAt?: boolean } export type $TokenPayload = { name: "Token" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string email: string token: string type: $Enums.TokenType expiresIn: Date createdAt: Date }, ExtArgs["result"]["token"]> composites: {} } type TokenGetPayload = $Result.GetResult type TokenCountArgs = Omit & { select?: TokenCountAggregateInputType | true } export interface TokenDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Token'], meta: { name: 'Token' } } /** * Find zero or one Token that matches the filter. * @param {TokenFindUniqueArgs} args - Arguments to find a Token * @example * // Get one Token * const token = await prisma.token.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__TokenClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Token that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {TokenFindUniqueOrThrowArgs} args - Arguments to find a Token * @example * // Get one Token * const token = await prisma.token.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__TokenClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Token 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 {TokenFindFirstArgs} args - Arguments to find a Token * @example * // Get one Token * const token = await prisma.token.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__TokenClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Token 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 {TokenFindFirstOrThrowArgs} args - Arguments to find a Token * @example * // Get one Token * const token = await prisma.token.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__TokenClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Tokens 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 {TokenFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Tokens * const tokens = await prisma.token.findMany() * * // Get first 10 Tokens * const tokens = await prisma.token.findMany({ take: 10 }) * * // Only select the `id` * const tokenWithIdOnly = await prisma.token.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Token. * @param {TokenCreateArgs} args - Arguments to create a Token. * @example * // Create one Token * const Token = await prisma.token.create({ * data: { * // ... data to create a Token * } * }) * */ create(args: SelectSubset>): Prisma__TokenClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Tokens. * @param {TokenCreateManyArgs} args - Arguments to create many Tokens. * @example * // Create many Tokens * const token = await prisma.token.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Tokens and returns the data saved in the database. * @param {TokenCreateManyAndReturnArgs} args - Arguments to create many Tokens. * @example * // Create many Tokens * const token = await prisma.token.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Tokens and only return the `id` * const tokenWithIdOnly = await prisma.token.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">> /** * Delete a Token. * @param {TokenDeleteArgs} args - Arguments to delete one Token. * @example * // Delete one Token * const Token = await prisma.token.delete({ * where: { * // ... filter to delete one Token * } * }) * */ delete(args: SelectSubset>): Prisma__TokenClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Token. * @param {TokenUpdateArgs} args - Arguments to update one Token. * @example * // Update one Token * const token = await prisma.token.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__TokenClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Tokens. * @param {TokenDeleteManyArgs} args - Arguments to filter Tokens to delete. * @example * // Delete a few Tokens * const { count } = await prisma.token.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Tokens. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TokenUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Tokens * const token = await prisma.token.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Token. * @param {TokenUpsertArgs} args - Arguments to update or create a Token. * @example * // Update or create a Token * const token = await prisma.token.upsert({ * create: { * // ... data to create a Token * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Token we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__TokenClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Tokens. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TokenCountArgs} args - Arguments to filter Tokens to count. * @example * // Count the number of Tokens * const count = await prisma.token.count({ * where: { * // ... the filter for the Tokens 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 Token. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TokenAggregateArgs} 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 Token. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TokenGroupByArgs} 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 TokenGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: TokenGroupByArgs['orderBy'] } : { orderBy?: TokenGroupByArgs['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 ? GetTokenGroupByPayload : Prisma.PrismaPromise /** * Fields of the Token model */ readonly fields: TokenFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Token. * 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__TokenClient 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 Token model */ interface TokenFieldRefs { readonly id: FieldRef<"Token", 'String'> readonly email: FieldRef<"Token", 'String'> readonly token: FieldRef<"Token", 'String'> readonly type: FieldRef<"Token", 'TokenType'> readonly expiresIn: FieldRef<"Token", 'DateTime'> readonly createdAt: FieldRef<"Token", 'DateTime'> } // Custom InputTypes /** * Token findUnique */ export type TokenFindUniqueArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * Filter, which Token to fetch. */ where: TokenWhereUniqueInput } /** * Token findUniqueOrThrow */ export type TokenFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * Filter, which Token to fetch. */ where: TokenWhereUniqueInput } /** * Token findFirst */ export type TokenFindFirstArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * Filter, which Token to fetch. */ where?: TokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Tokens to fetch. */ orderBy?: TokenOrderByWithRelationInput | TokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Tokens. */ cursor?: TokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Tokens 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` Tokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Tokens. */ distinct?: TokenScalarFieldEnum | TokenScalarFieldEnum[] } /** * Token findFirstOrThrow */ export type TokenFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * Filter, which Token to fetch. */ where?: TokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Tokens to fetch. */ orderBy?: TokenOrderByWithRelationInput | TokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Tokens. */ cursor?: TokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Tokens 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` Tokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Tokens. */ distinct?: TokenScalarFieldEnum | TokenScalarFieldEnum[] } /** * Token findMany */ export type TokenFindManyArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * Filter, which Tokens to fetch. */ where?: TokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Tokens to fetch. */ orderBy?: TokenOrderByWithRelationInput | TokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Tokens. */ cursor?: TokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Tokens 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` Tokens. */ skip?: number distinct?: TokenScalarFieldEnum | TokenScalarFieldEnum[] } /** * Token create */ export type TokenCreateArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * The data needed to create a Token. */ data: XOR } /** * Token createMany */ export type TokenCreateManyArgs = { /** * The data used to create many Tokens. */ data: TokenCreateManyInput | TokenCreateManyInput[] skipDuplicates?: boolean } /** * Token createManyAndReturn */ export type TokenCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelectCreateManyAndReturn | null /** * The data used to create many Tokens. */ data: TokenCreateManyInput | TokenCreateManyInput[] skipDuplicates?: boolean } /** * Token update */ export type TokenUpdateArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * The data needed to update a Token. */ data: XOR /** * Choose, which Token to update. */ where: TokenWhereUniqueInput } /** * Token updateMany */ export type TokenUpdateManyArgs = { /** * The data used to update Tokens. */ data: XOR /** * Filter which Tokens to update */ where?: TokenWhereInput limit?: number } /** * Token upsert */ export type TokenUpsertArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * The filter to search for the Token to update in case it exists. */ where: TokenWhereUniqueInput /** * In case the Token found by the `where` argument doesn't exist, create a new Token with this data. */ create: XOR /** * In case the Token was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Token delete */ export type TokenDeleteArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null /** * Filter which Token to delete. */ where: TokenWhereUniqueInput } /** * Token deleteMany */ export type TokenDeleteManyArgs = { /** * Filter which Tokens to delete */ where?: TokenWhereInput limit?: number } /** * Token without action */ export type TokenDefaultArgs = { /** * Select specific fields to fetch from the Token */ select?: TokenSelect | null } /** * Enums */ export const TransactionIsolationLevel: { ReadUncommitted: 'ReadUncommitted', ReadCommitted: 'ReadCommitted', RepeatableRead: 'RepeatableRead', Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const UserScalarFieldEnum: { id: 'id', email: 'email', password: 'password', displayName: 'displayName', picture: 'picture', role: 'role', isVerified: 'isVerified', isTwoFactorEnabled: 'isTwoFactorEnabled', method: 'method', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] export const AccountScalarFieldEnum: { id: 'id', type: 'type', provider: 'provider', refreshToken: 'refreshToken', accessToken: 'accessToken', expiresAt: 'expiresAt', createdAt: 'createdAt', updatedAt: 'updatedAt', userId: 'userId' }; export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] export const TokenScalarFieldEnum: { id: 'id', email: 'email', token: 'token', type: 'type', expiresIn: 'expiresIn', createdAt: 'createdAt' }; export type TokenScalarFieldEnum = (typeof TokenScalarFieldEnum)[keyof typeof TokenScalarFieldEnum] 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 'UserRole' */ export type EnumUserRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UserRole'> /** * Reference to a field of type 'UserRole[]' */ export type ListEnumUserRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'UserRole[]'> /** * Reference to a field of type 'Boolean' */ export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> /** * Reference to a field of type 'AuthMethod' */ export type EnumAuthMethodFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AuthMethod'> /** * Reference to a field of type 'AuthMethod[]' */ export type ListEnumAuthMethodFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AuthMethod[]'> /** * 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 'TokenType' */ export type EnumTokenTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'TokenType'> /** * Reference to a field of type 'TokenType[]' */ export type ListEnumTokenTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'TokenType[]'> /** * 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 UserWhereInput = { AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] id?: StringFilter<"User"> | string email?: StringFilter<"User"> | string password?: StringFilter<"User"> | string displayName?: StringFilter<"User"> | string picture?: StringNullableFilter<"User"> | string | null role?: EnumUserRoleFilter<"User"> | $Enums.UserRole isVerified?: BoolFilter<"User"> | boolean isTwoFactorEnabled?: BoolFilter<"User"> | boolean method?: EnumAuthMethodFilter<"User"> | $Enums.AuthMethod createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string accounts?: AccountListRelationFilter } export type UserOrderByWithRelationInput = { id?: SortOrder email?: SortOrder password?: SortOrder displayName?: SortOrder picture?: SortOrderInput | SortOrder role?: SortOrder isVerified?: SortOrder isTwoFactorEnabled?: SortOrder method?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder accounts?: AccountOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ id?: string email?: string AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] password?: StringFilter<"User"> | string displayName?: StringFilter<"User"> | string picture?: StringNullableFilter<"User"> | string | null role?: EnumUserRoleFilter<"User"> | $Enums.UserRole isVerified?: BoolFilter<"User"> | boolean isTwoFactorEnabled?: BoolFilter<"User"> | boolean method?: EnumAuthMethodFilter<"User"> | $Enums.AuthMethod createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string accounts?: AccountListRelationFilter }, "id" | "email"> export type UserOrderByWithAggregationInput = { id?: SortOrder email?: SortOrder password?: SortOrder displayName?: SortOrder picture?: SortOrderInput | SortOrder role?: SortOrder isVerified?: SortOrder isTwoFactorEnabled?: SortOrder method?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: UserCountOrderByAggregateInput _max?: UserMaxOrderByAggregateInput _min?: UserMinOrderByAggregateInput } export type UserScalarWhereWithAggregatesInput = { AND?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] OR?: UserScalarWhereWithAggregatesInput[] NOT?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"User"> | string email?: StringWithAggregatesFilter<"User"> | string password?: StringWithAggregatesFilter<"User"> | string displayName?: StringWithAggregatesFilter<"User"> | string picture?: StringNullableWithAggregatesFilter<"User"> | string | null role?: EnumUserRoleWithAggregatesFilter<"User"> | $Enums.UserRole isVerified?: BoolWithAggregatesFilter<"User"> | boolean isTwoFactorEnabled?: BoolWithAggregatesFilter<"User"> | boolean method?: EnumAuthMethodWithAggregatesFilter<"User"> | $Enums.AuthMethod createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string } export type AccountWhereInput = { AND?: AccountWhereInput | AccountWhereInput[] OR?: AccountWhereInput[] NOT?: AccountWhereInput | AccountWhereInput[] id?: StringFilter<"Account"> | string type?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string refreshToken?: StringNullableFilter<"Account"> | string | null accessToken?: StringNullableFilter<"Account"> | string | null expiresAt?: IntFilter<"Account"> | number createdAt?: DateTimeFilter<"Account"> | Date | string updatedAt?: DateTimeFilter<"Account"> | Date | string userId?: StringNullableFilter<"Account"> | string | null user?: XOR | null } export type AccountOrderByWithRelationInput = { id?: SortOrder type?: SortOrder provider?: SortOrder refreshToken?: SortOrderInput | SortOrder accessToken?: SortOrderInput | SortOrder expiresAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder userId?: SortOrderInput | SortOrder user?: UserOrderByWithRelationInput } export type AccountWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: AccountWhereInput | AccountWhereInput[] OR?: AccountWhereInput[] NOT?: AccountWhereInput | AccountWhereInput[] type?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string refreshToken?: StringNullableFilter<"Account"> | string | null accessToken?: StringNullableFilter<"Account"> | string | null expiresAt?: IntFilter<"Account"> | number createdAt?: DateTimeFilter<"Account"> | Date | string updatedAt?: DateTimeFilter<"Account"> | Date | string userId?: StringNullableFilter<"Account"> | string | null user?: XOR | null }, "id"> export type AccountOrderByWithAggregationInput = { id?: SortOrder type?: SortOrder provider?: SortOrder refreshToken?: SortOrderInput | SortOrder accessToken?: SortOrderInput | SortOrder expiresAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder userId?: SortOrderInput | SortOrder _count?: AccountCountOrderByAggregateInput _avg?: AccountAvgOrderByAggregateInput _max?: AccountMaxOrderByAggregateInput _min?: AccountMinOrderByAggregateInput _sum?: AccountSumOrderByAggregateInput } export type AccountScalarWhereWithAggregatesInput = { AND?: AccountScalarWhereWithAggregatesInput | AccountScalarWhereWithAggregatesInput[] OR?: AccountScalarWhereWithAggregatesInput[] NOT?: AccountScalarWhereWithAggregatesInput | AccountScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Account"> | string type?: StringWithAggregatesFilter<"Account"> | string provider?: StringWithAggregatesFilter<"Account"> | string refreshToken?: StringNullableWithAggregatesFilter<"Account"> | string | null accessToken?: StringNullableWithAggregatesFilter<"Account"> | string | null expiresAt?: IntWithAggregatesFilter<"Account"> | number createdAt?: DateTimeWithAggregatesFilter<"Account"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Account"> | Date | string userId?: StringNullableWithAggregatesFilter<"Account"> | string | null } export type TokenWhereInput = { AND?: TokenWhereInput | TokenWhereInput[] OR?: TokenWhereInput[] NOT?: TokenWhereInput | TokenWhereInput[] id?: StringFilter<"Token"> | string email?: StringFilter<"Token"> | string token?: StringFilter<"Token"> | string type?: EnumTokenTypeFilter<"Token"> | $Enums.TokenType expiresIn?: DateTimeFilter<"Token"> | Date | string createdAt?: DateTimeFilter<"Token"> | Date | string } export type TokenOrderByWithRelationInput = { id?: SortOrder email?: SortOrder token?: SortOrder type?: SortOrder expiresIn?: SortOrder createdAt?: SortOrder } export type TokenWhereUniqueInput = Prisma.AtLeast<{ id?: string token?: string AND?: TokenWhereInput | TokenWhereInput[] OR?: TokenWhereInput[] NOT?: TokenWhereInput | TokenWhereInput[] email?: StringFilter<"Token"> | string type?: EnumTokenTypeFilter<"Token"> | $Enums.TokenType expiresIn?: DateTimeFilter<"Token"> | Date | string createdAt?: DateTimeFilter<"Token"> | Date | string }, "id" | "token"> export type TokenOrderByWithAggregationInput = { id?: SortOrder email?: SortOrder token?: SortOrder type?: SortOrder expiresIn?: SortOrder createdAt?: SortOrder _count?: TokenCountOrderByAggregateInput _max?: TokenMaxOrderByAggregateInput _min?: TokenMinOrderByAggregateInput } export type TokenScalarWhereWithAggregatesInput = { AND?: TokenScalarWhereWithAggregatesInput | TokenScalarWhereWithAggregatesInput[] OR?: TokenScalarWhereWithAggregatesInput[] NOT?: TokenScalarWhereWithAggregatesInput | TokenScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Token"> | string email?: StringWithAggregatesFilter<"Token"> | string token?: StringWithAggregatesFilter<"Token"> | string type?: EnumTokenTypeWithAggregatesFilter<"Token"> | $Enums.TokenType expiresIn?: DateTimeWithAggregatesFilter<"Token"> | Date | string createdAt?: DateTimeWithAggregatesFilter<"Token"> | Date | string } export type UserCreateInput = { id?: string email: string password: string displayName: string picture?: string | null role?: $Enums.UserRole isVerified?: boolean isTwoFactorEnabled?: boolean method: $Enums.AuthMethod createdAt?: Date | string updatedAt?: Date | string accounts?: AccountCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { id?: string email: string password: string displayName: string picture?: string | null role?: $Enums.UserRole isVerified?: boolean isTwoFactorEnabled?: boolean method: $Enums.AuthMethod createdAt?: Date | string updatedAt?: Date | string accounts?: AccountUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string picture?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole isVerified?: BoolFieldUpdateOperationsInput | boolean isTwoFactorEnabled?: BoolFieldUpdateOperationsInput | boolean method?: EnumAuthMethodFieldUpdateOperationsInput | $Enums.AuthMethod createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string picture?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole isVerified?: BoolFieldUpdateOperationsInput | boolean isTwoFactorEnabled?: BoolFieldUpdateOperationsInput | boolean method?: EnumAuthMethodFieldUpdateOperationsInput | $Enums.AuthMethod createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { id?: string email: string password: string displayName: string picture?: string | null role?: $Enums.UserRole isVerified?: boolean isTwoFactorEnabled?: boolean method: $Enums.AuthMethod createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string picture?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole isVerified?: BoolFieldUpdateOperationsInput | boolean isTwoFactorEnabled?: BoolFieldUpdateOperationsInput | boolean method?: EnumAuthMethodFieldUpdateOperationsInput | $Enums.AuthMethod createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string picture?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole isVerified?: BoolFieldUpdateOperationsInput | boolean isTwoFactorEnabled?: BoolFieldUpdateOperationsInput | boolean method?: EnumAuthMethodFieldUpdateOperationsInput | $Enums.AuthMethod createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountCreateInput = { id?: string type: string provider: string refreshToken?: string | null accessToken?: string | null expiresAt: number createdAt?: Date | string updatedAt?: Date | string user?: UserCreateNestedOneWithoutAccountsInput } export type AccountUncheckedCreateInput = { id?: string type: string provider: string refreshToken?: string | null accessToken?: string | null expiresAt: number createdAt?: Date | string updatedAt?: Date | string userId?: string | null } export type AccountUpdateInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string refreshToken?: NullableStringFieldUpdateOperationsInput | string | null accessToken?: NullableStringFieldUpdateOperationsInput | string | null expiresAt?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneWithoutAccountsNestedInput } export type AccountUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string refreshToken?: NullableStringFieldUpdateOperationsInput | string | null accessToken?: NullableStringFieldUpdateOperationsInput | string | null expiresAt?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string userId?: NullableStringFieldUpdateOperationsInput | string | null } export type AccountCreateManyInput = { id?: string type: string provider: string refreshToken?: string | null accessToken?: string | null expiresAt: number createdAt?: Date | string updatedAt?: Date | string userId?: string | null } export type AccountUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string refreshToken?: NullableStringFieldUpdateOperationsInput | string | null accessToken?: NullableStringFieldUpdateOperationsInput | string | null expiresAt?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string refreshToken?: NullableStringFieldUpdateOperationsInput | string | null accessToken?: NullableStringFieldUpdateOperationsInput | string | null expiresAt?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string userId?: NullableStringFieldUpdateOperationsInput | string | null } export type TokenCreateInput = { id?: string email: string token: string type: $Enums.TokenType expiresIn: Date | string createdAt?: Date | string } export type TokenUncheckedCreateInput = { id?: string email: string token: string type: $Enums.TokenType expiresIn: Date | string createdAt?: Date | string } export type TokenUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string type?: EnumTokenTypeFieldUpdateOperationsInput | $Enums.TokenType expiresIn?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TokenUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string type?: EnumTokenTypeFieldUpdateOperationsInput | $Enums.TokenType expiresIn?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TokenCreateManyInput = { id?: string email: string token: string type: $Enums.TokenType expiresIn: Date | string createdAt?: Date | string } export type TokenUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string type?: EnumTokenTypeFieldUpdateOperationsInput | $Enums.TokenType expiresIn?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TokenUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string type?: EnumTokenTypeFieldUpdateOperationsInput | $Enums.TokenType expiresIn?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } 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 EnumUserRoleFilter<$PrismaModel = never> = { equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel> in?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> notIn?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> not?: NestedEnumUserRoleFilter<$PrismaModel> | $Enums.UserRole } export type BoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type EnumAuthMethodFilter<$PrismaModel = never> = { equals?: $Enums.AuthMethod | EnumAuthMethodFieldRefInput<$PrismaModel> in?: $Enums.AuthMethod[] | ListEnumAuthMethodFieldRefInput<$PrismaModel> notIn?: $Enums.AuthMethod[] | ListEnumAuthMethodFieldRefInput<$PrismaModel> not?: NestedEnumAuthMethodFilter<$PrismaModel> | $Enums.AuthMethod } 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 AccountListRelationFilter = { every?: AccountWhereInput some?: AccountWhereInput none?: AccountWhereInput } export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type AccountOrderByRelationAggregateInput = { _count?: SortOrder } export type UserCountOrderByAggregateInput = { id?: SortOrder email?: SortOrder password?: SortOrder displayName?: SortOrder picture?: SortOrder role?: SortOrder isVerified?: SortOrder isTwoFactorEnabled?: SortOrder method?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMaxOrderByAggregateInput = { id?: SortOrder email?: SortOrder password?: SortOrder displayName?: SortOrder picture?: SortOrder role?: SortOrder isVerified?: SortOrder isTwoFactorEnabled?: SortOrder method?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMinOrderByAggregateInput = { id?: SortOrder email?: SortOrder password?: SortOrder displayName?: SortOrder picture?: SortOrder role?: SortOrder isVerified?: SortOrder isTwoFactorEnabled?: SortOrder method?: 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 EnumUserRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel> in?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> notIn?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> not?: NestedEnumUserRoleWithAggregatesFilter<$PrismaModel> | $Enums.UserRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumUserRoleFilter<$PrismaModel> _max?: NestedEnumUserRoleFilter<$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 EnumAuthMethodWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.AuthMethod | EnumAuthMethodFieldRefInput<$PrismaModel> in?: $Enums.AuthMethod[] | ListEnumAuthMethodFieldRefInput<$PrismaModel> notIn?: $Enums.AuthMethod[] | ListEnumAuthMethodFieldRefInput<$PrismaModel> not?: NestedEnumAuthMethodWithAggregatesFilter<$PrismaModel> | $Enums.AuthMethod _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumAuthMethodFilter<$PrismaModel> _max?: NestedEnumAuthMethodFilter<$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 UserNullableScalarRelationFilter = { is?: UserWhereInput | null isNot?: UserWhereInput | null } export type AccountCountOrderByAggregateInput = { id?: SortOrder type?: SortOrder provider?: SortOrder refreshToken?: SortOrder accessToken?: SortOrder expiresAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder userId?: SortOrder } export type AccountAvgOrderByAggregateInput = { expiresAt?: SortOrder } export type AccountMaxOrderByAggregateInput = { id?: SortOrder type?: SortOrder provider?: SortOrder refreshToken?: SortOrder accessToken?: SortOrder expiresAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder userId?: SortOrder } export type AccountMinOrderByAggregateInput = { id?: SortOrder type?: SortOrder provider?: SortOrder refreshToken?: SortOrder accessToken?: SortOrder expiresAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder userId?: SortOrder } export type AccountSumOrderByAggregateInput = { expiresAt?: 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 EnumTokenTypeFilter<$PrismaModel = never> = { equals?: $Enums.TokenType | EnumTokenTypeFieldRefInput<$PrismaModel> in?: $Enums.TokenType[] | ListEnumTokenTypeFieldRefInput<$PrismaModel> notIn?: $Enums.TokenType[] | ListEnumTokenTypeFieldRefInput<$PrismaModel> not?: NestedEnumTokenTypeFilter<$PrismaModel> | $Enums.TokenType } export type TokenCountOrderByAggregateInput = { id?: SortOrder email?: SortOrder token?: SortOrder type?: SortOrder expiresIn?: SortOrder createdAt?: SortOrder } export type TokenMaxOrderByAggregateInput = { id?: SortOrder email?: SortOrder token?: SortOrder type?: SortOrder expiresIn?: SortOrder createdAt?: SortOrder } export type TokenMinOrderByAggregateInput = { id?: SortOrder email?: SortOrder token?: SortOrder type?: SortOrder expiresIn?: SortOrder createdAt?: SortOrder } export type EnumTokenTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.TokenType | EnumTokenTypeFieldRefInput<$PrismaModel> in?: $Enums.TokenType[] | ListEnumTokenTypeFieldRefInput<$PrismaModel> notIn?: $Enums.TokenType[] | ListEnumTokenTypeFieldRefInput<$PrismaModel> not?: NestedEnumTokenTypeWithAggregatesFilter<$PrismaModel> | $Enums.TokenType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumTokenTypeFilter<$PrismaModel> _max?: NestedEnumTokenTypeFilter<$PrismaModel> } export type AccountCreateNestedManyWithoutUserInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] } export type AccountUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type EnumUserRoleFieldUpdateOperationsInput = { set?: $Enums.UserRole } export type BoolFieldUpdateOperationsInput = { set?: boolean } export type EnumAuthMethodFieldUpdateOperationsInput = { set?: $Enums.AuthMethod } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } 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 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 UserCreateNestedOneWithoutAccountsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAccountsInput connect?: UserWhereUniqueInput } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type UserUpdateOneWithoutAccountsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAccountsInput upsert?: UserUpsertWithoutAccountsInput disconnect?: UserWhereInput | boolean delete?: UserWhereInput | boolean connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutAccountsInput> } export type EnumTokenTypeFieldUpdateOperationsInput = { set?: $Enums.TokenType } 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 NestedEnumUserRoleFilter<$PrismaModel = never> = { equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel> in?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> notIn?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> not?: NestedEnumUserRoleFilter<$PrismaModel> | $Enums.UserRole } export type NestedBoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type NestedEnumAuthMethodFilter<$PrismaModel = never> = { equals?: $Enums.AuthMethod | EnumAuthMethodFieldRefInput<$PrismaModel> in?: $Enums.AuthMethod[] | ListEnumAuthMethodFieldRefInput<$PrismaModel> notIn?: $Enums.AuthMethod[] | ListEnumAuthMethodFieldRefInput<$PrismaModel> not?: NestedEnumAuthMethodFilter<$PrismaModel> | $Enums.AuthMethod } 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 NestedEnumUserRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel> in?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> notIn?: $Enums.UserRole[] | ListEnumUserRoleFieldRefInput<$PrismaModel> not?: NestedEnumUserRoleWithAggregatesFilter<$PrismaModel> | $Enums.UserRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumUserRoleFilter<$PrismaModel> _max?: NestedEnumUserRoleFilter<$PrismaModel> } export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type NestedEnumAuthMethodWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.AuthMethod | EnumAuthMethodFieldRefInput<$PrismaModel> in?: $Enums.AuthMethod[] | ListEnumAuthMethodFieldRefInput<$PrismaModel> notIn?: $Enums.AuthMethod[] | ListEnumAuthMethodFieldRefInput<$PrismaModel> not?: NestedEnumAuthMethodWithAggregatesFilter<$PrismaModel> | $Enums.AuthMethod _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumAuthMethodFilter<$PrismaModel> _max?: NestedEnumAuthMethodFilter<$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 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 NestedEnumTokenTypeFilter<$PrismaModel = never> = { equals?: $Enums.TokenType | EnumTokenTypeFieldRefInput<$PrismaModel> in?: $Enums.TokenType[] | ListEnumTokenTypeFieldRefInput<$PrismaModel> notIn?: $Enums.TokenType[] | ListEnumTokenTypeFieldRefInput<$PrismaModel> not?: NestedEnumTokenTypeFilter<$PrismaModel> | $Enums.TokenType } export type NestedEnumTokenTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.TokenType | EnumTokenTypeFieldRefInput<$PrismaModel> in?: $Enums.TokenType[] | ListEnumTokenTypeFieldRefInput<$PrismaModel> notIn?: $Enums.TokenType[] | ListEnumTokenTypeFieldRefInput<$PrismaModel> not?: NestedEnumTokenTypeWithAggregatesFilter<$PrismaModel> | $Enums.TokenType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumTokenTypeFilter<$PrismaModel> _max?: NestedEnumTokenTypeFilter<$PrismaModel> } export type AccountCreateWithoutUserInput = { id?: string type: string provider: string refreshToken?: string | null accessToken?: string | null expiresAt: number createdAt?: Date | string updatedAt?: Date | string } export type AccountUncheckedCreateWithoutUserInput = { id?: string type: string provider: string refreshToken?: string | null accessToken?: string | null expiresAt: number createdAt?: Date | string updatedAt?: Date | string } export type AccountCreateOrConnectWithoutUserInput = { where: AccountWhereUniqueInput create: XOR } export type AccountCreateManyUserInputEnvelope = { data: AccountCreateManyUserInput | AccountCreateManyUserInput[] 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 type?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string refreshToken?: StringNullableFilter<"Account"> | string | null accessToken?: StringNullableFilter<"Account"> | string | null expiresAt?: IntFilter<"Account"> | number createdAt?: DateTimeFilter<"Account"> | Date | string updatedAt?: DateTimeFilter<"Account"> | Date | string userId?: StringNullableFilter<"Account"> | string | null } export type UserCreateWithoutAccountsInput = { id?: string email: string password: string displayName: string picture?: string | null role?: $Enums.UserRole isVerified?: boolean isTwoFactorEnabled?: boolean method: $Enums.AuthMethod createdAt?: Date | string updatedAt?: Date | string } export type UserUncheckedCreateWithoutAccountsInput = { id?: string email: string password: string displayName: string picture?: string | null role?: $Enums.UserRole isVerified?: boolean isTwoFactorEnabled?: boolean method: $Enums.AuthMethod createdAt?: Date | string updatedAt?: Date | string } export type UserCreateOrConnectWithoutAccountsInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutAccountsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutAccountsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutAccountsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string picture?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole isVerified?: BoolFieldUpdateOperationsInput | boolean isTwoFactorEnabled?: BoolFieldUpdateOperationsInput | boolean method?: EnumAuthMethodFieldUpdateOperationsInput | $Enums.AuthMethod createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateWithoutAccountsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string picture?: NullableStringFieldUpdateOperationsInput | string | null role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole isVerified?: BoolFieldUpdateOperationsInput | boolean isTwoFactorEnabled?: BoolFieldUpdateOperationsInput | boolean method?: EnumAuthMethodFieldUpdateOperationsInput | $Enums.AuthMethod createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountCreateManyUserInput = { id?: string type: string provider: string refreshToken?: string | null accessToken?: string | null expiresAt: number createdAt?: Date | string updatedAt?: Date | string } export type AccountUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string refreshToken?: NullableStringFieldUpdateOperationsInput | string | null accessToken?: NullableStringFieldUpdateOperationsInput | string | null expiresAt?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string refreshToken?: NullableStringFieldUpdateOperationsInput | string | null accessToken?: NullableStringFieldUpdateOperationsInput | string | null expiresAt?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string refreshToken?: NullableStringFieldUpdateOperationsInput | string | null accessToken?: NullableStringFieldUpdateOperationsInput | string | null expiresAt?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } /** * Aliases for legacy arg types */ /** * @deprecated Use UserCountOutputTypeDefaultArgs instead */ export type UserCountOutputTypeArgs = UserCountOutputTypeDefaultArgs /** * @deprecated Use UserDefaultArgs instead */ export type UserArgs = UserDefaultArgs /** * @deprecated Use AccountDefaultArgs instead */ export type AccountArgs = AccountDefaultArgs /** * @deprecated Use TokenDefaultArgs instead */ export type TokenArgs = TokenDefaultArgs /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }