/** * Client **/ import * as runtime from './runtime/client.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 Session * */ export type Session = $Result.DefaultSelection /** * Model UserPreferences * */ export type UserPreferences = $Result.DefaultSelection /** * Model Channel * */ export type Channel = $Result.DefaultSelection /** * ## 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://pris.ly/d/client). */ export class PrismaClient< ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, const 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://pris.ly/d/client). */ constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient; /** * Connect with the database */ $connect(): $Utils.JsPromise; /** * Disconnect from the database */ $disconnect(): $Utils.JsPromise; /** * Executes a prepared raw query and returns the number of affected rows. * @example * ``` * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Executes a raw query and returns the number of affected rows. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Performs a prepared raw query and returns the `SELECT` data. * @example * ``` * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Performs a raw query and returns the `SELECT` data. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. * @example * ``` * const [george, bob, alice] = await prisma.$transaction([ * prisma.user.create({ data: { name: 'George' } }), * prisma.user.create({ data: { name: 'Bob' } }), * prisma.user.create({ data: { name: 'Alice' } }), * ]) * ``` * * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). */ $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, { extArgs: ExtArgs }>> /** * `prisma.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.session`: Exposes CRUD operations for the **Session** model. * Example usage: * ```ts * // Fetch zero or more Sessions * const sessions = await prisma.session.findMany() * ``` */ get session(): Prisma.SessionDelegate; /** * `prisma.userPreferences`: Exposes CRUD operations for the **UserPreferences** model. * Example usage: * ```ts * // Fetch zero or more UserPreferences * const userPreferences = await prisma.userPreferences.findMany() * ``` */ get userPreferences(): Prisma.UserPreferencesDelegate; /** * `prisma.channel`: Exposes CRUD operations for the **Channel** model. * Example usage: * ```ts * // Fetch zero or more Channels * const channels = await prisma.channel.findMany() * ``` */ get channel(): Prisma.ChannelDelegate; } export namespace Prisma { export import DMMF = runtime.DMMF export type PrismaPromise = $Public.PrismaPromise /** * Validator */ export import validator = runtime.Public.validator /** * Prisma Errors */ export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError /** * Re-export of sql-template-tag */ export import sql = runtime.sqltag export import empty = runtime.empty export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql /** * Decimal.js */ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * 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: 7.2.0 * Query Engine version: 0c8ef2ce45c83248ab3df073180d5eda9e8be7a3 */ export type PrismaVersion = { client: string engine: string } export const prismaVersion: PrismaVersion /** * Utility Types */ export import Bytes = runtime.Bytes export import JsonObject = runtime.JsonObject export import JsonArray = runtime.JsonArray export import JsonValue = runtime.JsonValue export import InputJsonObject = runtime.InputJsonObject export import InputJsonArray = runtime.InputJsonArray export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of `null` values when working with JSON fields. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of `Prisma.DbNull`. * * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { private DbNull: never private constructor() } /** * Type of `Prisma.JsonNull`. * * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { private JsonNull: never private constructor() } /** * Type of `Prisma.AnyNull`. * * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { private AnyNull: never private constructor() } } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * Get the type of the value, that the Promise holds. */ export type PromiseType> = T extends PromiseLike ? U : T; /** * Get the return type of a function which returns a Promise. */ export type PromiseReturnType $Utils.JsPromise> = PromiseType> /** * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick = { [P in K]: T[P]; }; export type Enumerable = T | Array; export type RequiredKeys = { [K in keyof T]-?: {} extends Prisma__Pick ? never : K }[keyof T] export type TruthyKeys = keyof { [K in keyof T as T[K] extends false | undefined | null ? never : K]: K } export type TrueKeys = TruthyKeys>> /** * Subset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection */ export type Subset = { [key in keyof T]: key extends keyof U ? T[key] : never; }; /** * SelectSubset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. * Additionally, it validates, if both select and include are present. If the case, it errors. */ export type SelectSubset = { [key in keyof T]: key extends keyof U ? T[key] : never } & (T extends SelectAndInclude ? 'Please either choose `select` or `include`.' : T extends SelectAndOmit ? 'Please either choose `select` or `omit`.' : {}) /** * Subset + Intersection * @desc From `T` pick properties that exist in `U` and intersect `K` */ export type SubsetIntersection = { [key in keyof T]: key extends keyof U ? T[key] : never } & K type Without = { [P in Exclude]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ type XOR = T extends object ? U extends object ? (Without & U) | (Without & T) : U : T /** * Is T a Record? */ type IsObject = T extends Array ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False /** * If it's T[], return T */ export type UnEnumerate = T extends Array ? U : T /** * From ts-toolbelt */ type __Either = Omit & { // Merge all but K [P in K]: Prisma__Pick // With K possibilities }[K] type EitherStrict = Strict<__Either> type EitherLoose = ComputeRaw<__Either> type _Either< O extends object, K extends Key, strict extends Boolean > = { 1: EitherStrict 0: EitherLoose }[strict] type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either : never export type Union = any type PatchUndefined = { [K in keyof O]: O[K] extends undefined ? At : O[K] } & {} /** Helper Types for "Merge" **/ export type IntersectOf = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never export type Overwrite = { [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; } & {}; type _Merge = IntersectOf; }>>; type Key = string | number | symbol; type AtBasic = K extends keyof O ? O[K] : never; type AtStrict = O[K & keyof O]; type AtLoose = O extends unknown ? AtStrict : never; export type At = { 1: AtStrict; 0: AtLoose; }[strict]; export type ComputeRaw = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export type OptionalFlat = { [K in keyof O]?: O[K]; } & {}; type _Record = { [P in K]: T; }; // cause typescript not to expand types and preserve names type NoExpand = T extends unknown ? T : never; // this type assumes the passed object is entirely optional type AtLeast = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O : never>; type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ export type Merge = ComputeRaw<_Merge>>; /** A [[Boolean]] */ export type Boolean = True | False // /** // 1 // */ export type True = 1 /** 0 */ export type False = 0 export type Not = { 0: 1 1: 0 }[B] export type Extends = [A1] extends [never] ? 0 // anything `never` is false : A1 extends A2 ? 1 : 0 export type Has = Not< Extends, U1> > export type Or = { 0: { 0: 0 1: 1 } 1: { 0: 1 1: 1 } }[B1][B2] export type Keys = U extends unknown ? keyof U : never type Cast = A extends B ? A : B; export const type: unique symbol; /** * Used by group by */ export type GetScalarType = O extends object ? { [P in keyof T]: P extends keyof O ? O[P] : never } : never type FieldPaths< T, U = Omit > = IsObject extends True ? U : T type GetHavingFields = { [K in keyof T]: Or< Or, Extends<'AND', K>>, Extends<'NOT', K> > extends True ? // infer is only needed to not hit TS limit // based on the brilliant idea of Pierre-Antoine Mills // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 T[K] extends infer TK ? GetHavingFields extends object ? Merge> : never> : never : {} extends FieldPaths ? never : K }[keyof T] /** * Convert tuple to union */ type _TupleToUnion = T extends (infer E)[] ? E : never type TupleToUnion = _TupleToUnion type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T /** * Like `Pick`, but additionally can also accept an array of keys */ type PickEnumerable | keyof T> = Prisma__Pick> /** * Exclude all keys with underscores */ type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T export type FieldRef = runtime.FieldRef type FieldRefInputType = Model extends never ? never : FieldRef export const ModelName: { User: 'User', Session: 'Session', UserPreferences: 'UserPreferences', Channel: 'Channel' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { globalOmitOptions: { omit: GlobalOmitOptions } meta: { modelProps: "user" | "session" | "userPreferences" | "channel" 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 } updateManyAndReturn: { args: Prisma.UserUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserCountArgs result: $Utils.Optional | number } } } Session: { payload: Prisma.$SessionPayload fields: Prisma.SessionFieldRefs operations: { findUnique: { args: Prisma.SessionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SessionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SessionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SessionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SessionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SessionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SessionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SessionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SessionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SessionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SessionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SessionUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.SessionUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.SessionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SessionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SessionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SessionCountArgs result: $Utils.Optional | number } } } UserPreferences: { payload: Prisma.$UserPreferencesPayload fields: Prisma.UserPreferencesFieldRefs operations: { findUnique: { args: Prisma.UserPreferencesFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UserPreferencesFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UserPreferencesFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UserPreferencesFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UserPreferencesFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UserPreferencesCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UserPreferencesCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UserPreferencesCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UserPreferencesDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UserPreferencesUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UserPreferencesDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UserPreferencesUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.UserPreferencesUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.UserPreferencesUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserPreferencesAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserPreferencesGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserPreferencesCountArgs result: $Utils.Optional | number } } } Channel: { payload: Prisma.$ChannelPayload fields: Prisma.ChannelFieldRefs operations: { findUnique: { args: Prisma.ChannelFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ChannelFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.ChannelFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ChannelFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.ChannelFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.ChannelCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.ChannelCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ChannelCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.ChannelDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.ChannelUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.ChannelDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ChannelUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.ChannelUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.ChannelUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.ChannelAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.ChannelGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.ChannelCountArgs 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 { /** * @default "colorless" */ errorFormat?: ErrorFormat /** * @example * ``` * // Shorthand for `emit: 'stdout'` * log: ['query', 'info', 'warn', 'error'] * * // Emit as events only * log: [ * { emit: 'event', level: 'query' }, * { emit: 'event', level: 'info' }, * { emit: 'event', level: 'warn' } * { emit: 'event', level: 'error' } * ] * * / Emit as events and log to stdout * og: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * { emit: 'stdout', level: 'error' } * * ``` * Read more in our [docs](https://pris.ly/d/logging). */ log?: (LogLevel | LogDefinition)[] /** * The default values for transactionOptions * maxWait ?= 2000 * timeout ?= 5000 */ transactionOptions?: { maxWait?: number timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } /** * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale` */ adapter?: runtime.SqlDriverAdapterFactory /** * Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database. */ accelerateUrl?: string /** * Global configuration for omitting model fields by default. * * @example * ``` * const prisma = new PrismaClient({ * omit: { * user: { * password: true * } * } * }) * ``` */ omit?: Prisma.GlobalOmitConfig /** * SQL commenter plugins that add metadata to SQL queries as comments. * Comments follow the sqlcommenter format: https://google.github.io/sqlcommenter/ * * @example * ``` * const prisma = new PrismaClient({ * adapter, * comments: [ * traceContext(), * queryInsights(), * ], * }) * ``` */ comments?: runtime.SqlCommenterPlugin[] } export type GlobalOmitConfig = { user?: UserOmit session?: SessionOmit userPreferences?: UserPreferencesOmit channel?: ChannelOmit } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type CheckIsLogLevel = T extends LogLevel ? T : never; export type GetLogType = CheckIsLogLevel< T extends LogDefinition ? T['level'] : T >; export type GetEvents = T extends Array ? GetLogType : never; export type QueryEvent = { timestamp: Date query: string params: string duration: number target: string } export type LogEvent = { timestamp: Date message: string target: string } /* End Types for Logging */ export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' // 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 = { Session: number channels: number } export type UserCountOutputTypeSelect = { Session?: boolean | UserCountOutputTypeCountSessionArgs channels?: boolean | UserCountOutputTypeCountChannelsArgs } // Custom InputTypes /** * UserCountOutputType without action */ export type UserCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UserCountOutputType */ select?: UserCountOutputTypeSelect | null } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountSessionArgs = { where?: SessionWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountChannelsArgs = { where?: ChannelWhereInput } /** * Models */ /** * Model User */ export type AggregateUser = { _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } export type UserMinAggregateOutputType = { id: string | null username: string | null password: string | null displayName: string | null createdAt: Date | null updatedAt: Date | null } export type UserMaxAggregateOutputType = { id: string | null username: string | null password: string | null displayName: string | null createdAt: Date | null updatedAt: Date | null } export type UserCountAggregateOutputType = { id: number username: number password: number displayName: number createdAt: number updatedAt: number _all: number } export type UserMinAggregateInputType = { id?: true username?: true password?: true displayName?: true createdAt?: true updatedAt?: true } export type UserMaxAggregateInputType = { id?: true username?: true password?: true displayName?: true createdAt?: true updatedAt?: true } export type UserCountAggregateInputType = { id?: true username?: true password?: true displayName?: 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 username: string password: string displayName: string 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 username?: boolean password?: boolean displayName?: boolean createdAt?: boolean updatedAt?: boolean Session?: boolean | User$SessionArgs UserPreferences?: boolean | User$UserPreferencesArgs channels?: boolean | User$channelsArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean username?: boolean password?: boolean displayName?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean username?: boolean password?: boolean displayName?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean username?: boolean password?: boolean displayName?: boolean createdAt?: boolean updatedAt?: boolean } export type UserOmit = $Extensions.GetOmit<"id" | "username" | "password" | "displayName" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]> export type UserInclude = { Session?: boolean | User$SessionArgs UserPreferences?: boolean | User$UserPreferencesArgs channels?: boolean | User$channelsArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} export type UserIncludeUpdateManyAndReturn = {} export type $UserPayload = { name: "User" objects: { Session: Prisma.$SessionPayload[] UserPreferences: Prisma.$UserPreferencesPayload | null channels: Prisma.$ChannelPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string username: string password: string displayName: string 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", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one User that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first User that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindFirstArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first User that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindFirstOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Users that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Users * const users = await prisma.user.findMany() * * // Get first 10 Users * const users = await prisma.user.findMany({ take: 10 }) * * // Only select the `id` * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a User. * @param {UserCreateArgs} args - Arguments to create a User. * @example * // Create one User * const User = await prisma.user.create({ * data: { * // ... data to create a User * } * }) * */ create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Users. * @param {UserCreateManyArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Users and returns the data saved in the database. * @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Users and only return the `id` * const userWithIdOnly = await prisma.user.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a User. * @param {UserDeleteArgs} args - Arguments to delete one User. * @example * // Delete one User * const User = await prisma.user.delete({ * where: { * // ... filter to delete one User * } * }) * */ delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one User. * @param {UserUpdateArgs} args - Arguments to update one User. * @example * // Update one User * const user = await prisma.user.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Users. * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. * @example * // Delete a few Users * const { count } = await prisma.user.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Users * const user = await prisma.user.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Users and returns the data updated in the database. * @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users. * @example * // Update many Users * const user = await prisma.user.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Users and only return the `id` * const userWithIdOnly = await prisma.user.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one User. * @param {UserUpsertArgs} args - Arguments to update or create a User. * @example * // Update or create a User * const user = await prisma.user.upsert({ * create: { * // ... data to create a User * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the User we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserCountArgs} args - Arguments to filter Users to count. * @example * // Count the number of Users * const count = await prisma.user.count({ * where: { * // ... the filter for the Users we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends UserGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserGroupByArgs['orderBy'] } : { orderBy?: UserGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserGroupByPayload : Prisma.PrismaPromise /** * Fields of the User model */ readonly fields: UserFieldRefs; } /** * The delegate class that acts as a "Promise-like" for User. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__UserClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" Session = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> UserPreferences = {}>(args?: Subset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> channels = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the User model */ interface UserFieldRefs { readonly id: FieldRef<"User", 'String'> readonly username: FieldRef<"User", 'String'> readonly password: FieldRef<"User", 'String'> readonly displayName: FieldRef<"User", 'String'> 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 /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findUniqueOrThrow */ export type UserFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findFirst */ export type UserFindFirstArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findFirstOrThrow */ export type UserFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findMany */ export type UserFindManyArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which Users to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User create */ export type UserCreateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to create a User. */ data: XOR } /** * User createMany */ export type UserCreateManyArgs = { /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] } /** * User createManyAndReturn */ export type UserCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelectCreateManyAndReturn | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] } /** * User update */ export type UserUpdateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to update a User. */ data: XOR /** * Choose, which User to update. */ where: UserWhereUniqueInput } /** * User updateMany */ export type UserUpdateManyArgs = { /** * The data used to update Users. */ data: XOR /** * Filter which Users to update */ where?: UserWhereInput /** * Limit how many Users to update. */ limit?: number } /** * User updateManyAndReturn */ export type UserUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelectUpdateManyAndReturn | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * The data used to update Users. */ data: XOR /** * Filter which Users to update */ where?: UserWhereInput /** * Limit how many Users to update. */ limit?: number } /** * User upsert */ export type UserUpsertArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The filter to search for the User to update in case it exists. */ where: UserWhereUniqueInput /** * In case the User found by the `where` argument doesn't exist, create a new User with this data. */ create: XOR /** * In case the User was found with the provided `where` argument, update it with this data. */ update: XOR } /** * User delete */ export type UserDeleteArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter which User to delete. */ where: UserWhereUniqueInput } /** * User deleteMany */ export type UserDeleteManyArgs = { /** * Filter which Users to delete */ where?: UserWhereInput /** * Limit how many Users to delete. */ limit?: number } /** * User.Session */ export type User$SessionArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null where?: SessionWhereInput orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] cursor?: SessionWhereUniqueInput take?: number skip?: number distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * User.UserPreferences */ export type User$UserPreferencesArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null where?: UserPreferencesWhereInput } /** * User.channels */ export type User$channelsArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null where?: ChannelWhereInput orderBy?: ChannelOrderByWithRelationInput | ChannelOrderByWithRelationInput[] cursor?: ChannelWhereUniqueInput take?: number skip?: number distinct?: ChannelScalarFieldEnum | ChannelScalarFieldEnum[] } /** * User without action */ export type UserDefaultArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null } /** * Model Session */ export type AggregateSession = { _count: SessionCountAggregateOutputType | null _min: SessionMinAggregateOutputType | null _max: SessionMaxAggregateOutputType | null } export type SessionMinAggregateOutputType = { id: string | null userId: string | null expiresAt: Date | null } export type SessionMaxAggregateOutputType = { id: string | null userId: string | null expiresAt: Date | null } export type SessionCountAggregateOutputType = { id: number userId: number expiresAt: number _all: number } export type SessionMinAggregateInputType = { id?: true userId?: true expiresAt?: true } export type SessionMaxAggregateInputType = { id?: true userId?: true expiresAt?: true } export type SessionCountAggregateInputType = { id?: true userId?: true expiresAt?: true _all?: true } export type SessionAggregateArgs = { /** * Filter which Session to aggregate. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Sessions **/ _count?: true | SessionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SessionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SessionMaxAggregateInputType } export type GetSessionAggregateType = { [P in keyof T & keyof AggregateSession]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SessionGroupByArgs = { where?: SessionWhereInput orderBy?: SessionOrderByWithAggregationInput | SessionOrderByWithAggregationInput[] by: SessionScalarFieldEnum[] | SessionScalarFieldEnum having?: SessionScalarWhereWithAggregatesInput take?: number skip?: number _count?: SessionCountAggregateInputType | true _min?: SessionMinAggregateInputType _max?: SessionMaxAggregateInputType } export type SessionGroupByOutputType = { id: string userId: string expiresAt: Date _count: SessionCountAggregateOutputType | null _min: SessionMinAggregateOutputType | null _max: SessionMaxAggregateOutputType | null } type GetSessionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SessionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SessionSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean expiresAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["session"]> export type SessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean expiresAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["session"]> export type SessionSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean expiresAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["session"]> export type SessionSelectScalar = { id?: boolean userId?: boolean expiresAt?: boolean } export type SessionOmit = $Extensions.GetOmit<"id" | "userId" | "expiresAt", ExtArgs["result"]["session"]> export type SessionInclude = { user?: boolean | UserDefaultArgs } export type SessionIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type SessionIncludeUpdateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $SessionPayload = { name: "Session" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string userId: string expiresAt: Date }, ExtArgs["result"]["session"]> composites: {} } type SessionGetPayload = $Result.GetResult type SessionCountArgs = Omit & { select?: SessionCountAggregateInputType | true } export interface SessionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Session'], meta: { name: 'Session' } } /** * Find zero or one Session that matches the filter. * @param {SessionFindUniqueArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Session that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SessionFindUniqueOrThrowArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Session that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionFindFirstArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Session that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionFindFirstOrThrowArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Sessions that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Sessions * const sessions = await prisma.session.findMany() * * // Get first 10 Sessions * const sessions = await prisma.session.findMany({ take: 10 }) * * // Only select the `id` * const sessionWithIdOnly = await prisma.session.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Session. * @param {SessionCreateArgs} args - Arguments to create a Session. * @example * // Create one Session * const Session = await prisma.session.create({ * data: { * // ... data to create a Session * } * }) * */ create(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Sessions. * @param {SessionCreateManyArgs} args - Arguments to create many Sessions. * @example * // Create many Sessions * const session = await prisma.session.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Sessions and returns the data saved in the database. * @param {SessionCreateManyAndReturnArgs} args - Arguments to create many Sessions. * @example * // Create many Sessions * const session = await prisma.session.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Sessions and only return the `id` * const sessionWithIdOnly = await prisma.session.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Session. * @param {SessionDeleteArgs} args - Arguments to delete one Session. * @example * // Delete one Session * const Session = await prisma.session.delete({ * where: { * // ... filter to delete one Session * } * }) * */ delete(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Session. * @param {SessionUpdateArgs} args - Arguments to update one Session. * @example * // Update one Session * const session = await prisma.session.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Sessions. * @param {SessionDeleteManyArgs} args - Arguments to filter Sessions to delete. * @example * // Delete a few Sessions * const { count } = await prisma.session.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Sessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Sessions * const session = await prisma.session.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Sessions and returns the data updated in the database. * @param {SessionUpdateManyAndReturnArgs} args - Arguments to update many Sessions. * @example * // Update many Sessions * const session = await prisma.session.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Sessions and only return the `id` * const sessionWithIdOnly = await prisma.session.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Session. * @param {SessionUpsertArgs} args - Arguments to update or create a Session. * @example * // Update or create a Session * const session = await prisma.session.upsert({ * create: { * // ... data to create a Session * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Session we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Sessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionCountArgs} args - Arguments to filter Sessions to count. * @example * // Count the number of Sessions * const count = await prisma.session.count({ * where: { * // ... the filter for the Sessions we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Session. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Session. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends SessionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SessionGroupByArgs['orderBy'] } : { orderBy?: SessionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSessionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Session model */ readonly fields: SessionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Session. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__SessionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Session model */ interface SessionFieldRefs { readonly id: FieldRef<"Session", 'String'> readonly userId: FieldRef<"Session", 'String'> readonly expiresAt: FieldRef<"Session", 'DateTime'> } // Custom InputTypes /** * Session findUnique */ export type SessionFindUniqueArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where: SessionWhereUniqueInput } /** * Session findUniqueOrThrow */ export type SessionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where: SessionWhereUniqueInput } /** * Session findFirst */ export type SessionFindFirstArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Sessions. */ distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session findFirstOrThrow */ export type SessionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Sessions. */ distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session findMany */ export type SessionFindManyArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Sessions to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Sessions. */ skip?: number distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session create */ export type SessionCreateArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The data needed to create a Session. */ data: XOR } /** * Session createMany */ export type SessionCreateManyArgs = { /** * The data used to create many Sessions. */ data: SessionCreateManyInput | SessionCreateManyInput[] } /** * Session createManyAndReturn */ export type SessionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelectCreateManyAndReturn | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * The data used to create many Sessions. */ data: SessionCreateManyInput | SessionCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: SessionIncludeCreateManyAndReturn | null } /** * Session update */ export type SessionUpdateArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The data needed to update a Session. */ data: XOR /** * Choose, which Session to update. */ where: SessionWhereUniqueInput } /** * Session updateMany */ export type SessionUpdateManyArgs = { /** * The data used to update Sessions. */ data: XOR /** * Filter which Sessions to update */ where?: SessionWhereInput /** * Limit how many Sessions to update. */ limit?: number } /** * Session updateManyAndReturn */ export type SessionUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelectUpdateManyAndReturn | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * The data used to update Sessions. */ data: XOR /** * Filter which Sessions to update */ where?: SessionWhereInput /** * Limit how many Sessions to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: SessionIncludeUpdateManyAndReturn | null } /** * Session upsert */ export type SessionUpsertArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The filter to search for the Session to update in case it exists. */ where: SessionWhereUniqueInput /** * In case the Session found by the `where` argument doesn't exist, create a new Session with this data. */ create: XOR /** * In case the Session was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Session delete */ export type SessionDeleteArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter which Session to delete. */ where: SessionWhereUniqueInput } /** * Session deleteMany */ export type SessionDeleteManyArgs = { /** * Filter which Sessions to delete */ where?: SessionWhereInput /** * Limit how many Sessions to delete. */ limit?: number } /** * Session without action */ export type SessionDefaultArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null } /** * Model UserPreferences */ export type AggregateUserPreferences = { _count: UserPreferencesCountAggregateOutputType | null _min: UserPreferencesMinAggregateOutputType | null _max: UserPreferencesMaxAggregateOutputType | null } export type UserPreferencesMinAggregateOutputType = { userId: string | null toggleInputHotkey: string | null toggleOutputHotkey: string | null } export type UserPreferencesMaxAggregateOutputType = { userId: string | null toggleInputHotkey: string | null toggleOutputHotkey: string | null } export type UserPreferencesCountAggregateOutputType = { userId: number toggleInputHotkey: number toggleOutputHotkey: number _all: number } export type UserPreferencesMinAggregateInputType = { userId?: true toggleInputHotkey?: true toggleOutputHotkey?: true } export type UserPreferencesMaxAggregateInputType = { userId?: true toggleInputHotkey?: true toggleOutputHotkey?: true } export type UserPreferencesCountAggregateInputType = { userId?: true toggleInputHotkey?: true toggleOutputHotkey?: true _all?: true } export type UserPreferencesAggregateArgs = { /** * Filter which UserPreferences to aggregate. */ where?: UserPreferencesWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserPreferences to fetch. */ orderBy?: UserPreferencesOrderByWithRelationInput | UserPreferencesOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: UserPreferencesWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserPreferences 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` UserPreferences. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned UserPreferences **/ _count?: true | UserPreferencesCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: UserPreferencesMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: UserPreferencesMaxAggregateInputType } export type GetUserPreferencesAggregateType = { [P in keyof T & keyof AggregateUserPreferences]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type UserPreferencesGroupByArgs = { where?: UserPreferencesWhereInput orderBy?: UserPreferencesOrderByWithAggregationInput | UserPreferencesOrderByWithAggregationInput[] by: UserPreferencesScalarFieldEnum[] | UserPreferencesScalarFieldEnum having?: UserPreferencesScalarWhereWithAggregatesInput take?: number skip?: number _count?: UserPreferencesCountAggregateInputType | true _min?: UserPreferencesMinAggregateInputType _max?: UserPreferencesMaxAggregateInputType } export type UserPreferencesGroupByOutputType = { userId: string toggleInputHotkey: string | null toggleOutputHotkey: string | null _count: UserPreferencesCountAggregateOutputType | null _min: UserPreferencesMinAggregateOutputType | null _max: UserPreferencesMaxAggregateOutputType | null } type GetUserPreferencesGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof UserPreferencesGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type UserPreferencesSelect = $Extensions.GetSelect<{ userId?: boolean toggleInputHotkey?: boolean toggleOutputHotkey?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["userPreferences"]> export type UserPreferencesSelectCreateManyAndReturn = $Extensions.GetSelect<{ userId?: boolean toggleInputHotkey?: boolean toggleOutputHotkey?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["userPreferences"]> export type UserPreferencesSelectUpdateManyAndReturn = $Extensions.GetSelect<{ userId?: boolean toggleInputHotkey?: boolean toggleOutputHotkey?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["userPreferences"]> export type UserPreferencesSelectScalar = { userId?: boolean toggleInputHotkey?: boolean toggleOutputHotkey?: boolean } export type UserPreferencesOmit = $Extensions.GetOmit<"userId" | "toggleInputHotkey" | "toggleOutputHotkey", ExtArgs["result"]["userPreferences"]> export type UserPreferencesInclude = { user?: boolean | UserDefaultArgs } export type UserPreferencesIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type UserPreferencesIncludeUpdateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $UserPreferencesPayload = { name: "UserPreferences" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ userId: string toggleInputHotkey: string | null toggleOutputHotkey: string | null }, ExtArgs["result"]["userPreferences"]> composites: {} } type UserPreferencesGetPayload = $Result.GetResult type UserPreferencesCountArgs = Omit & { select?: UserPreferencesCountAggregateInputType | true } export interface UserPreferencesDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['UserPreferences'], meta: { name: 'UserPreferences' } } /** * Find zero or one UserPreferences that matches the filter. * @param {UserPreferencesFindUniqueArgs} args - Arguments to find a UserPreferences * @example * // Get one UserPreferences * const userPreferences = await prisma.userPreferences.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one UserPreferences that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserPreferencesFindUniqueOrThrowArgs} args - Arguments to find a UserPreferences * @example * // Get one UserPreferences * const userPreferences = await prisma.userPreferences.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first UserPreferences 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 {UserPreferencesFindFirstArgs} args - Arguments to find a UserPreferences * @example * // Get one UserPreferences * const userPreferences = await prisma.userPreferences.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first UserPreferences 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 {UserPreferencesFindFirstOrThrowArgs} args - Arguments to find a UserPreferences * @example * // Get one UserPreferences * const userPreferences = await prisma.userPreferences.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more UserPreferences 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 {UserPreferencesFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all UserPreferences * const userPreferences = await prisma.userPreferences.findMany() * * // Get first 10 UserPreferences * const userPreferences = await prisma.userPreferences.findMany({ take: 10 }) * * // Only select the `userId` * const userPreferencesWithUserIdOnly = await prisma.userPreferences.findMany({ select: { userId: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a UserPreferences. * @param {UserPreferencesCreateArgs} args - Arguments to create a UserPreferences. * @example * // Create one UserPreferences * const UserPreferences = await prisma.userPreferences.create({ * data: { * // ... data to create a UserPreferences * } * }) * */ create(args: SelectSubset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many UserPreferences. * @param {UserPreferencesCreateManyArgs} args - Arguments to create many UserPreferences. * @example * // Create many UserPreferences * const userPreferences = await prisma.userPreferences.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many UserPreferences and returns the data saved in the database. * @param {UserPreferencesCreateManyAndReturnArgs} args - Arguments to create many UserPreferences. * @example * // Create many UserPreferences * const userPreferences = await prisma.userPreferences.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many UserPreferences and only return the `userId` * const userPreferencesWithUserIdOnly = await prisma.userPreferences.createManyAndReturn({ * select: { userId: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a UserPreferences. * @param {UserPreferencesDeleteArgs} args - Arguments to delete one UserPreferences. * @example * // Delete one UserPreferences * const UserPreferences = await prisma.userPreferences.delete({ * where: { * // ... filter to delete one UserPreferences * } * }) * */ delete(args: SelectSubset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one UserPreferences. * @param {UserPreferencesUpdateArgs} args - Arguments to update one UserPreferences. * @example * // Update one UserPreferences * const userPreferences = await prisma.userPreferences.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more UserPreferences. * @param {UserPreferencesDeleteManyArgs} args - Arguments to filter UserPreferences to delete. * @example * // Delete a few UserPreferences * const { count } = await prisma.userPreferences.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more UserPreferences. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserPreferencesUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many UserPreferences * const userPreferences = await prisma.userPreferences.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more UserPreferences and returns the data updated in the database. * @param {UserPreferencesUpdateManyAndReturnArgs} args - Arguments to update many UserPreferences. * @example * // Update many UserPreferences * const userPreferences = await prisma.userPreferences.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more UserPreferences and only return the `userId` * const userPreferencesWithUserIdOnly = await prisma.userPreferences.updateManyAndReturn({ * select: { userId: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one UserPreferences. * @param {UserPreferencesUpsertArgs} args - Arguments to update or create a UserPreferences. * @example * // Update or create a UserPreferences * const userPreferences = await prisma.userPreferences.upsert({ * create: { * // ... data to create a UserPreferences * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the UserPreferences we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserPreferencesClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of UserPreferences. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserPreferencesCountArgs} args - Arguments to filter UserPreferences to count. * @example * // Count the number of UserPreferences * const count = await prisma.userPreferences.count({ * where: { * // ... the filter for the UserPreferences 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 UserPreferences. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserPreferencesAggregateArgs} 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 UserPreferences. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserPreferencesGroupByArgs} 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 UserPreferencesGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserPreferencesGroupByArgs['orderBy'] } : { orderBy?: UserPreferencesGroupByArgs['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 ? GetUserPreferencesGroupByPayload : Prisma.PrismaPromise /** * Fields of the UserPreferences model */ readonly fields: UserPreferencesFieldRefs; } /** * The delegate class that acts as a "Promise-like" for UserPreferences. * 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__UserPreferencesClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the UserPreferences model */ interface UserPreferencesFieldRefs { readonly userId: FieldRef<"UserPreferences", 'String'> readonly toggleInputHotkey: FieldRef<"UserPreferences", 'String'> readonly toggleOutputHotkey: FieldRef<"UserPreferences", 'String'> } // Custom InputTypes /** * UserPreferences findUnique */ export type UserPreferencesFindUniqueArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * Filter, which UserPreferences to fetch. */ where: UserPreferencesWhereUniqueInput } /** * UserPreferences findUniqueOrThrow */ export type UserPreferencesFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * Filter, which UserPreferences to fetch. */ where: UserPreferencesWhereUniqueInput } /** * UserPreferences findFirst */ export type UserPreferencesFindFirstArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * Filter, which UserPreferences to fetch. */ where?: UserPreferencesWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserPreferences to fetch. */ orderBy?: UserPreferencesOrderByWithRelationInput | UserPreferencesOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UserPreferences. */ cursor?: UserPreferencesWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserPreferences 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` UserPreferences. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UserPreferences. */ distinct?: UserPreferencesScalarFieldEnum | UserPreferencesScalarFieldEnum[] } /** * UserPreferences findFirstOrThrow */ export type UserPreferencesFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * Filter, which UserPreferences to fetch. */ where?: UserPreferencesWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserPreferences to fetch. */ orderBy?: UserPreferencesOrderByWithRelationInput | UserPreferencesOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UserPreferences. */ cursor?: UserPreferencesWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserPreferences 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` UserPreferences. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UserPreferences. */ distinct?: UserPreferencesScalarFieldEnum | UserPreferencesScalarFieldEnum[] } /** * UserPreferences findMany */ export type UserPreferencesFindManyArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * Filter, which UserPreferences to fetch. */ where?: UserPreferencesWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserPreferences to fetch. */ orderBy?: UserPreferencesOrderByWithRelationInput | UserPreferencesOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing UserPreferences. */ cursor?: UserPreferencesWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserPreferences 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` UserPreferences. */ skip?: number distinct?: UserPreferencesScalarFieldEnum | UserPreferencesScalarFieldEnum[] } /** * UserPreferences create */ export type UserPreferencesCreateArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * The data needed to create a UserPreferences. */ data: XOR } /** * UserPreferences createMany */ export type UserPreferencesCreateManyArgs = { /** * The data used to create many UserPreferences. */ data: UserPreferencesCreateManyInput | UserPreferencesCreateManyInput[] } /** * UserPreferences createManyAndReturn */ export type UserPreferencesCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelectCreateManyAndReturn | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * The data used to create many UserPreferences. */ data: UserPreferencesCreateManyInput | UserPreferencesCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesIncludeCreateManyAndReturn | null } /** * UserPreferences update */ export type UserPreferencesUpdateArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * The data needed to update a UserPreferences. */ data: XOR /** * Choose, which UserPreferences to update. */ where: UserPreferencesWhereUniqueInput } /** * UserPreferences updateMany */ export type UserPreferencesUpdateManyArgs = { /** * The data used to update UserPreferences. */ data: XOR /** * Filter which UserPreferences to update */ where?: UserPreferencesWhereInput /** * Limit how many UserPreferences to update. */ limit?: number } /** * UserPreferences updateManyAndReturn */ export type UserPreferencesUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelectUpdateManyAndReturn | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * The data used to update UserPreferences. */ data: XOR /** * Filter which UserPreferences to update */ where?: UserPreferencesWhereInput /** * Limit how many UserPreferences to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesIncludeUpdateManyAndReturn | null } /** * UserPreferences upsert */ export type UserPreferencesUpsertArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * The filter to search for the UserPreferences to update in case it exists. */ where: UserPreferencesWhereUniqueInput /** * In case the UserPreferences found by the `where` argument doesn't exist, create a new UserPreferences with this data. */ create: XOR /** * In case the UserPreferences was found with the provided `where` argument, update it with this data. */ update: XOR } /** * UserPreferences delete */ export type UserPreferencesDeleteArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null /** * Filter which UserPreferences to delete. */ where: UserPreferencesWhereUniqueInput } /** * UserPreferences deleteMany */ export type UserPreferencesDeleteManyArgs = { /** * Filter which UserPreferences to delete */ where?: UserPreferencesWhereInput /** * Limit how many UserPreferences to delete. */ limit?: number } /** * UserPreferences without action */ export type UserPreferencesDefaultArgs = { /** * Select specific fields to fetch from the UserPreferences */ select?: UserPreferencesSelect | null /** * Omit specific fields from the UserPreferences */ omit?: UserPreferencesOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserPreferencesInclude | null } /** * Model Channel */ export type AggregateChannel = { _count: ChannelCountAggregateOutputType | null _avg: ChannelAvgAggregateOutputType | null _sum: ChannelSumAggregateOutputType | null _min: ChannelMinAggregateOutputType | null _max: ChannelMaxAggregateOutputType | null } export type ChannelAvgAggregateOutputType = { maxClients: number | null } export type ChannelSumAggregateOutputType = { maxClients: number | null } export type ChannelMinAggregateOutputType = { id: string | null name: string | null maxClients: number | null persistent: boolean | null owner_id: string | null } export type ChannelMaxAggregateOutputType = { id: string | null name: string | null maxClients: number | null persistent: boolean | null owner_id: string | null } export type ChannelCountAggregateOutputType = { id: number name: number maxClients: number persistent: number owner_id: number _all: number } export type ChannelAvgAggregateInputType = { maxClients?: true } export type ChannelSumAggregateInputType = { maxClients?: true } export type ChannelMinAggregateInputType = { id?: true name?: true maxClients?: true persistent?: true owner_id?: true } export type ChannelMaxAggregateInputType = { id?: true name?: true maxClients?: true persistent?: true owner_id?: true } export type ChannelCountAggregateInputType = { id?: true name?: true maxClients?: true persistent?: true owner_id?: true _all?: true } export type ChannelAggregateArgs = { /** * Filter which Channel to aggregate. */ where?: ChannelWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Channels to fetch. */ orderBy?: ChannelOrderByWithRelationInput | ChannelOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: ChannelWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Channels 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` Channels. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Channels **/ _count?: true | ChannelCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: ChannelAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: ChannelSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: ChannelMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: ChannelMaxAggregateInputType } export type GetChannelAggregateType = { [P in keyof T & keyof AggregateChannel]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type ChannelGroupByArgs = { where?: ChannelWhereInput orderBy?: ChannelOrderByWithAggregationInput | ChannelOrderByWithAggregationInput[] by: ChannelScalarFieldEnum[] | ChannelScalarFieldEnum having?: ChannelScalarWhereWithAggregatesInput take?: number skip?: number _count?: ChannelCountAggregateInputType | true _avg?: ChannelAvgAggregateInputType _sum?: ChannelSumAggregateInputType _min?: ChannelMinAggregateInputType _max?: ChannelMaxAggregateInputType } export type ChannelGroupByOutputType = { id: string name: string maxClients: number | null persistent: boolean owner_id: string | null _count: ChannelCountAggregateOutputType | null _avg: ChannelAvgAggregateOutputType | null _sum: ChannelSumAggregateOutputType | null _min: ChannelMinAggregateOutputType | null _max: ChannelMaxAggregateOutputType | null } type GetChannelGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof ChannelGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type ChannelSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean maxClients?: boolean persistent?: boolean owner_id?: boolean owner?: boolean | Channel$ownerArgs }, ExtArgs["result"]["channel"]> export type ChannelSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean maxClients?: boolean persistent?: boolean owner_id?: boolean owner?: boolean | Channel$ownerArgs }, ExtArgs["result"]["channel"]> export type ChannelSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean maxClients?: boolean persistent?: boolean owner_id?: boolean owner?: boolean | Channel$ownerArgs }, ExtArgs["result"]["channel"]> export type ChannelSelectScalar = { id?: boolean name?: boolean maxClients?: boolean persistent?: boolean owner_id?: boolean } export type ChannelOmit = $Extensions.GetOmit<"id" | "name" | "maxClients" | "persistent" | "owner_id", ExtArgs["result"]["channel"]> export type ChannelInclude = { owner?: boolean | Channel$ownerArgs } export type ChannelIncludeCreateManyAndReturn = { owner?: boolean | Channel$ownerArgs } export type ChannelIncludeUpdateManyAndReturn = { owner?: boolean | Channel$ownerArgs } export type $ChannelPayload = { name: "Channel" objects: { owner: Prisma.$UserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string name: string maxClients: number | null persistent: boolean owner_id: string | null }, ExtArgs["result"]["channel"]> composites: {} } type ChannelGetPayload = $Result.GetResult type ChannelCountArgs = Omit & { select?: ChannelCountAggregateInputType | true } export interface ChannelDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Channel'], meta: { name: 'Channel' } } /** * Find zero or one Channel that matches the filter. * @param {ChannelFindUniqueArgs} args - Arguments to find a Channel * @example * // Get one Channel * const channel = await prisma.channel.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__ChannelClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Channel that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {ChannelFindUniqueOrThrowArgs} args - Arguments to find a Channel * @example * // Get one Channel * const channel = await prisma.channel.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__ChannelClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Channel 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 {ChannelFindFirstArgs} args - Arguments to find a Channel * @example * // Get one Channel * const channel = await prisma.channel.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__ChannelClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Channel 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 {ChannelFindFirstOrThrowArgs} args - Arguments to find a Channel * @example * // Get one Channel * const channel = await prisma.channel.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__ChannelClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Channels 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 {ChannelFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Channels * const channels = await prisma.channel.findMany() * * // Get first 10 Channels * const channels = await prisma.channel.findMany({ take: 10 }) * * // Only select the `id` * const channelWithIdOnly = await prisma.channel.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Channel. * @param {ChannelCreateArgs} args - Arguments to create a Channel. * @example * // Create one Channel * const Channel = await prisma.channel.create({ * data: { * // ... data to create a Channel * } * }) * */ create(args: SelectSubset>): Prisma__ChannelClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Channels. * @param {ChannelCreateManyArgs} args - Arguments to create many Channels. * @example * // Create many Channels * const channel = await prisma.channel.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Channels and returns the data saved in the database. * @param {ChannelCreateManyAndReturnArgs} args - Arguments to create many Channels. * @example * // Create many Channels * const channel = await prisma.channel.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Channels and only return the `id` * const channelWithIdOnly = await prisma.channel.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Channel. * @param {ChannelDeleteArgs} args - Arguments to delete one Channel. * @example * // Delete one Channel * const Channel = await prisma.channel.delete({ * where: { * // ... filter to delete one Channel * } * }) * */ delete(args: SelectSubset>): Prisma__ChannelClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Channel. * @param {ChannelUpdateArgs} args - Arguments to update one Channel. * @example * // Update one Channel * const channel = await prisma.channel.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__ChannelClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Channels. * @param {ChannelDeleteManyArgs} args - Arguments to filter Channels to delete. * @example * // Delete a few Channels * const { count } = await prisma.channel.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Channels. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ChannelUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Channels * const channel = await prisma.channel.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Channels and returns the data updated in the database. * @param {ChannelUpdateManyAndReturnArgs} args - Arguments to update many Channels. * @example * // Update many Channels * const channel = await prisma.channel.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Channels and only return the `id` * const channelWithIdOnly = await prisma.channel.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Channel. * @param {ChannelUpsertArgs} args - Arguments to update or create a Channel. * @example * // Update or create a Channel * const channel = await prisma.channel.upsert({ * create: { * // ... data to create a Channel * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Channel we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__ChannelClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Channels. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ChannelCountArgs} args - Arguments to filter Channels to count. * @example * // Count the number of Channels * const count = await prisma.channel.count({ * where: { * // ... the filter for the Channels 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 Channel. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ChannelAggregateArgs} 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 Channel. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ChannelGroupByArgs} 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 ChannelGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: ChannelGroupByArgs['orderBy'] } : { orderBy?: ChannelGroupByArgs['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 ? GetChannelGroupByPayload : Prisma.PrismaPromise /** * Fields of the Channel model */ readonly fields: ChannelFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Channel. * 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__ChannelClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" owner = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Channel model */ interface ChannelFieldRefs { readonly id: FieldRef<"Channel", 'String'> readonly name: FieldRef<"Channel", 'String'> readonly maxClients: FieldRef<"Channel", 'Int'> readonly persistent: FieldRef<"Channel", 'Boolean'> readonly owner_id: FieldRef<"Channel", 'String'> } // Custom InputTypes /** * Channel findUnique */ export type ChannelFindUniqueArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * Filter, which Channel to fetch. */ where: ChannelWhereUniqueInput } /** * Channel findUniqueOrThrow */ export type ChannelFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * Filter, which Channel to fetch. */ where: ChannelWhereUniqueInput } /** * Channel findFirst */ export type ChannelFindFirstArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * Filter, which Channel to fetch. */ where?: ChannelWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Channels to fetch. */ orderBy?: ChannelOrderByWithRelationInput | ChannelOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Channels. */ cursor?: ChannelWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Channels 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` Channels. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Channels. */ distinct?: ChannelScalarFieldEnum | ChannelScalarFieldEnum[] } /** * Channel findFirstOrThrow */ export type ChannelFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * Filter, which Channel to fetch. */ where?: ChannelWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Channels to fetch. */ orderBy?: ChannelOrderByWithRelationInput | ChannelOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Channels. */ cursor?: ChannelWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Channels 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` Channels. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Channels. */ distinct?: ChannelScalarFieldEnum | ChannelScalarFieldEnum[] } /** * Channel findMany */ export type ChannelFindManyArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * Filter, which Channels to fetch. */ where?: ChannelWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Channels to fetch. */ orderBy?: ChannelOrderByWithRelationInput | ChannelOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Channels. */ cursor?: ChannelWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Channels 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` Channels. */ skip?: number distinct?: ChannelScalarFieldEnum | ChannelScalarFieldEnum[] } /** * Channel create */ export type ChannelCreateArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * The data needed to create a Channel. */ data: XOR } /** * Channel createMany */ export type ChannelCreateManyArgs = { /** * The data used to create many Channels. */ data: ChannelCreateManyInput | ChannelCreateManyInput[] } /** * Channel createManyAndReturn */ export type ChannelCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelectCreateManyAndReturn | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * The data used to create many Channels. */ data: ChannelCreateManyInput | ChannelCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: ChannelIncludeCreateManyAndReturn | null } /** * Channel update */ export type ChannelUpdateArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * The data needed to update a Channel. */ data: XOR /** * Choose, which Channel to update. */ where: ChannelWhereUniqueInput } /** * Channel updateMany */ export type ChannelUpdateManyArgs = { /** * The data used to update Channels. */ data: XOR /** * Filter which Channels to update */ where?: ChannelWhereInput /** * Limit how many Channels to update. */ limit?: number } /** * Channel updateManyAndReturn */ export type ChannelUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelectUpdateManyAndReturn | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * The data used to update Channels. */ data: XOR /** * Filter which Channels to update */ where?: ChannelWhereInput /** * Limit how many Channels to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: ChannelIncludeUpdateManyAndReturn | null } /** * Channel upsert */ export type ChannelUpsertArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * The filter to search for the Channel to update in case it exists. */ where: ChannelWhereUniqueInput /** * In case the Channel found by the `where` argument doesn't exist, create a new Channel with this data. */ create: XOR /** * In case the Channel was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Channel delete */ export type ChannelDeleteArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null /** * Filter which Channel to delete. */ where: ChannelWhereUniqueInput } /** * Channel deleteMany */ export type ChannelDeleteManyArgs = { /** * Filter which Channels to delete */ where?: ChannelWhereInput /** * Limit how many Channels to delete. */ limit?: number } /** * Channel.owner */ export type Channel$ownerArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null where?: UserWhereInput } /** * Channel without action */ export type ChannelDefaultArgs = { /** * Select specific fields to fetch from the Channel */ select?: ChannelSelect | null /** * Omit specific fields from the Channel */ omit?: ChannelOmit | null /** * Choose, which related nodes to fetch as well */ include?: ChannelInclude | null } /** * Enums */ export const TransactionIsolationLevel: { Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const UserScalarFieldEnum: { id: 'id', username: 'username', password: 'password', displayName: 'displayName', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] export const SessionScalarFieldEnum: { id: 'id', userId: 'userId', expiresAt: 'expiresAt' }; export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] export const UserPreferencesScalarFieldEnum: { userId: 'userId', toggleInputHotkey: 'toggleInputHotkey', toggleOutputHotkey: 'toggleOutputHotkey' }; export type UserPreferencesScalarFieldEnum = (typeof UserPreferencesScalarFieldEnum)[keyof typeof UserPreferencesScalarFieldEnum] export const ChannelScalarFieldEnum: { id: 'id', name: 'name', maxClients: 'maxClients', persistent: 'persistent', owner_id: 'owner_id' }; export type ChannelScalarFieldEnum = (typeof ChannelScalarFieldEnum)[keyof typeof ChannelScalarFieldEnum] export const SortOrder: { asc: 'asc', desc: 'desc' }; export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] 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 'DateTime' */ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> /** * Reference to a field of type 'Int' */ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> /** * Reference to a field of type 'Boolean' */ export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> /** * Reference to a field of type 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Deep Input Types */ export type UserWhereInput = { AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] id?: StringFilter<"User"> | string username?: StringFilter<"User"> | string password?: StringFilter<"User"> | string displayName?: StringFilter<"User"> | string createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string Session?: SessionListRelationFilter UserPreferences?: XOR | null channels?: ChannelListRelationFilter } export type UserOrderByWithRelationInput = { id?: SortOrder username?: SortOrder password?: SortOrder displayName?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder Session?: SessionOrderByRelationAggregateInput UserPreferences?: UserPreferencesOrderByWithRelationInput channels?: ChannelOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ id?: string username?: string AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] password?: StringFilter<"User"> | string displayName?: StringFilter<"User"> | string createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string Session?: SessionListRelationFilter UserPreferences?: XOR | null channels?: ChannelListRelationFilter }, "id" | "username"> export type UserOrderByWithAggregationInput = { id?: SortOrder username?: SortOrder password?: SortOrder displayName?: 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 username?: StringWithAggregatesFilter<"User"> | string password?: StringWithAggregatesFilter<"User"> | string displayName?: StringWithAggregatesFilter<"User"> | string createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string } export type SessionWhereInput = { AND?: SessionWhereInput | SessionWhereInput[] OR?: SessionWhereInput[] NOT?: SessionWhereInput | SessionWhereInput[] id?: StringFilter<"Session"> | string userId?: StringFilter<"Session"> | string expiresAt?: DateTimeFilter<"Session"> | Date | string user?: XOR } export type SessionOrderByWithRelationInput = { id?: SortOrder userId?: SortOrder expiresAt?: SortOrder user?: UserOrderByWithRelationInput } export type SessionWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: SessionWhereInput | SessionWhereInput[] OR?: SessionWhereInput[] NOT?: SessionWhereInput | SessionWhereInput[] userId?: StringFilter<"Session"> | string expiresAt?: DateTimeFilter<"Session"> | Date | string user?: XOR }, "id"> export type SessionOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrder expiresAt?: SortOrder _count?: SessionCountOrderByAggregateInput _max?: SessionMaxOrderByAggregateInput _min?: SessionMinOrderByAggregateInput } export type SessionScalarWhereWithAggregatesInput = { AND?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] OR?: SessionScalarWhereWithAggregatesInput[] NOT?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Session"> | string userId?: StringWithAggregatesFilter<"Session"> | string expiresAt?: DateTimeWithAggregatesFilter<"Session"> | Date | string } export type UserPreferencesWhereInput = { AND?: UserPreferencesWhereInput | UserPreferencesWhereInput[] OR?: UserPreferencesWhereInput[] NOT?: UserPreferencesWhereInput | UserPreferencesWhereInput[] userId?: StringFilter<"UserPreferences"> | string toggleInputHotkey?: StringNullableFilter<"UserPreferences"> | string | null toggleOutputHotkey?: StringNullableFilter<"UserPreferences"> | string | null user?: XOR } export type UserPreferencesOrderByWithRelationInput = { userId?: SortOrder toggleInputHotkey?: SortOrderInput | SortOrder toggleOutputHotkey?: SortOrderInput | SortOrder user?: UserOrderByWithRelationInput } export type UserPreferencesWhereUniqueInput = Prisma.AtLeast<{ userId?: string AND?: UserPreferencesWhereInput | UserPreferencesWhereInput[] OR?: UserPreferencesWhereInput[] NOT?: UserPreferencesWhereInput | UserPreferencesWhereInput[] toggleInputHotkey?: StringNullableFilter<"UserPreferences"> | string | null toggleOutputHotkey?: StringNullableFilter<"UserPreferences"> | string | null user?: XOR }, "userId"> export type UserPreferencesOrderByWithAggregationInput = { userId?: SortOrder toggleInputHotkey?: SortOrderInput | SortOrder toggleOutputHotkey?: SortOrderInput | SortOrder _count?: UserPreferencesCountOrderByAggregateInput _max?: UserPreferencesMaxOrderByAggregateInput _min?: UserPreferencesMinOrderByAggregateInput } export type UserPreferencesScalarWhereWithAggregatesInput = { AND?: UserPreferencesScalarWhereWithAggregatesInput | UserPreferencesScalarWhereWithAggregatesInput[] OR?: UserPreferencesScalarWhereWithAggregatesInput[] NOT?: UserPreferencesScalarWhereWithAggregatesInput | UserPreferencesScalarWhereWithAggregatesInput[] userId?: StringWithAggregatesFilter<"UserPreferences"> | string toggleInputHotkey?: StringNullableWithAggregatesFilter<"UserPreferences"> | string | null toggleOutputHotkey?: StringNullableWithAggregatesFilter<"UserPreferences"> | string | null } export type ChannelWhereInput = { AND?: ChannelWhereInput | ChannelWhereInput[] OR?: ChannelWhereInput[] NOT?: ChannelWhereInput | ChannelWhereInput[] id?: StringFilter<"Channel"> | string name?: StringFilter<"Channel"> | string maxClients?: IntNullableFilter<"Channel"> | number | null persistent?: BoolFilter<"Channel"> | boolean owner_id?: StringNullableFilter<"Channel"> | string | null owner?: XOR | null } export type ChannelOrderByWithRelationInput = { id?: SortOrder name?: SortOrder maxClients?: SortOrderInput | SortOrder persistent?: SortOrder owner_id?: SortOrderInput | SortOrder owner?: UserOrderByWithRelationInput } export type ChannelWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: ChannelWhereInput | ChannelWhereInput[] OR?: ChannelWhereInput[] NOT?: ChannelWhereInput | ChannelWhereInput[] name?: StringFilter<"Channel"> | string maxClients?: IntNullableFilter<"Channel"> | number | null persistent?: BoolFilter<"Channel"> | boolean owner_id?: StringNullableFilter<"Channel"> | string | null owner?: XOR | null }, "id"> export type ChannelOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder maxClients?: SortOrderInput | SortOrder persistent?: SortOrder owner_id?: SortOrderInput | SortOrder _count?: ChannelCountOrderByAggregateInput _avg?: ChannelAvgOrderByAggregateInput _max?: ChannelMaxOrderByAggregateInput _min?: ChannelMinOrderByAggregateInput _sum?: ChannelSumOrderByAggregateInput } export type ChannelScalarWhereWithAggregatesInput = { AND?: ChannelScalarWhereWithAggregatesInput | ChannelScalarWhereWithAggregatesInput[] OR?: ChannelScalarWhereWithAggregatesInput[] NOT?: ChannelScalarWhereWithAggregatesInput | ChannelScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Channel"> | string name?: StringWithAggregatesFilter<"Channel"> | string maxClients?: IntNullableWithAggregatesFilter<"Channel"> | number | null persistent?: BoolWithAggregatesFilter<"Channel"> | boolean owner_id?: StringNullableWithAggregatesFilter<"Channel"> | string | null } export type UserCreateInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string Session?: SessionCreateNestedManyWithoutUserInput UserPreferences?: UserPreferencesCreateNestedOneWithoutUserInput channels?: ChannelCreateNestedManyWithoutOwnerInput } export type UserUncheckedCreateInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string Session?: SessionUncheckedCreateNestedManyWithoutUserInput UserPreferences?: UserPreferencesUncheckedCreateNestedOneWithoutUserInput channels?: ChannelUncheckedCreateNestedManyWithoutOwnerInput } export type UserUpdateInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string Session?: SessionUpdateManyWithoutUserNestedInput UserPreferences?: UserPreferencesUpdateOneWithoutUserNestedInput channels?: ChannelUpdateManyWithoutOwnerNestedInput } export type UserUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string Session?: SessionUncheckedUpdateManyWithoutUserNestedInput UserPreferences?: UserPreferencesUncheckedUpdateOneWithoutUserNestedInput channels?: ChannelUncheckedUpdateManyWithoutOwnerNestedInput } export type UserCreateManyInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionCreateInput = { id: string expiresAt: Date | string user: UserCreateNestedOneWithoutSessionInput } export type SessionUncheckedCreateInput = { id: string userId: string expiresAt: Date | string } export type SessionUpdateInput = { id?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSessionNestedInput } export type SessionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionCreateManyInput = { id: string userId: string expiresAt: Date | string } export type SessionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserPreferencesCreateInput = { toggleInputHotkey?: string | null toggleOutputHotkey?: string | null user: UserCreateNestedOneWithoutUserPreferencesInput } export type UserPreferencesUncheckedCreateInput = { userId: string toggleInputHotkey?: string | null toggleOutputHotkey?: string | null } export type UserPreferencesUpdateInput = { toggleInputHotkey?: NullableStringFieldUpdateOperationsInput | string | null toggleOutputHotkey?: NullableStringFieldUpdateOperationsInput | string | null user?: UserUpdateOneRequiredWithoutUserPreferencesNestedInput } export type UserPreferencesUncheckedUpdateInput = { userId?: StringFieldUpdateOperationsInput | string toggleInputHotkey?: NullableStringFieldUpdateOperationsInput | string | null toggleOutputHotkey?: NullableStringFieldUpdateOperationsInput | string | null } export type UserPreferencesCreateManyInput = { userId: string toggleInputHotkey?: string | null toggleOutputHotkey?: string | null } export type UserPreferencesUpdateManyMutationInput = { toggleInputHotkey?: NullableStringFieldUpdateOperationsInput | string | null toggleOutputHotkey?: NullableStringFieldUpdateOperationsInput | string | null } export type UserPreferencesUncheckedUpdateManyInput = { userId?: StringFieldUpdateOperationsInput | string toggleInputHotkey?: NullableStringFieldUpdateOperationsInput | string | null toggleOutputHotkey?: NullableStringFieldUpdateOperationsInput | string | null } export type ChannelCreateInput = { id: string name: string maxClients?: number | null persistent?: boolean owner?: UserCreateNestedOneWithoutChannelsInput } export type ChannelUncheckedCreateInput = { id: string name: string maxClients?: number | null persistent?: boolean owner_id?: string | null } export type ChannelUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string maxClients?: NullableIntFieldUpdateOperationsInput | number | null persistent?: BoolFieldUpdateOperationsInput | boolean owner?: UserUpdateOneWithoutChannelsNestedInput } export type ChannelUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string maxClients?: NullableIntFieldUpdateOperationsInput | number | null persistent?: BoolFieldUpdateOperationsInput | boolean owner_id?: NullableStringFieldUpdateOperationsInput | string | null } export type ChannelCreateManyInput = { id: string name: string maxClients?: number | null persistent?: boolean owner_id?: string | null } export type ChannelUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string maxClients?: NullableIntFieldUpdateOperationsInput | number | null persistent?: BoolFieldUpdateOperationsInput | boolean } export type ChannelUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string maxClients?: NullableIntFieldUpdateOperationsInput | number | null persistent?: BoolFieldUpdateOperationsInput | boolean owner_id?: NullableStringFieldUpdateOperationsInput | string | null } export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] notIn?: string[] 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 DateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] notIn?: Date[] | string[] 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 SessionListRelationFilter = { every?: SessionWhereInput some?: SessionWhereInput none?: SessionWhereInput } export type UserPreferencesNullableScalarRelationFilter = { is?: UserPreferencesWhereInput | null isNot?: UserPreferencesWhereInput | null } export type ChannelListRelationFilter = { every?: ChannelWhereInput some?: ChannelWhereInput none?: ChannelWhereInput } export type SessionOrderByRelationAggregateInput = { _count?: SortOrder } export type ChannelOrderByRelationAggregateInput = { _count?: SortOrder } export type UserCountOrderByAggregateInput = { id?: SortOrder username?: SortOrder password?: SortOrder displayName?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMaxOrderByAggregateInput = { id?: SortOrder username?: SortOrder password?: SortOrder displayName?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMinOrderByAggregateInput = { id?: SortOrder username?: SortOrder password?: SortOrder displayName?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type StringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] notIn?: string[] 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 DateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] notIn?: Date[] | string[] 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 UserScalarRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } export type SessionCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder expiresAt?: SortOrder } export type SessionMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder expiresAt?: SortOrder } export type SessionMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder expiresAt?: SortOrder } export type StringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | null notIn?: string[] | 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 SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type UserPreferencesCountOrderByAggregateInput = { userId?: SortOrder toggleInputHotkey?: SortOrder toggleOutputHotkey?: SortOrder } export type UserPreferencesMaxOrderByAggregateInput = { userId?: SortOrder toggleInputHotkey?: SortOrder toggleOutputHotkey?: SortOrder } export type UserPreferencesMinOrderByAggregateInput = { userId?: SortOrder toggleInputHotkey?: SortOrder toggleOutputHotkey?: SortOrder } export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | null notIn?: string[] | 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 IntNullableFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | null notIn?: number[] | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type BoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type UserNullableScalarRelationFilter = { is?: UserWhereInput | null isNot?: UserWhereInput | null } export type ChannelCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder maxClients?: SortOrder persistent?: SortOrder owner_id?: SortOrder } export type ChannelAvgOrderByAggregateInput = { maxClients?: SortOrder } export type ChannelMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder maxClients?: SortOrder persistent?: SortOrder owner_id?: SortOrder } export type ChannelMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder maxClients?: SortOrder persistent?: SortOrder owner_id?: SortOrder } export type ChannelSumOrderByAggregateInput = { maxClients?: SortOrder } export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | null notIn?: number[] | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedIntNullableFilter<$PrismaModel> _min?: NestedIntNullableFilter<$PrismaModel> _max?: NestedIntNullableFilter<$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 SessionCreateNestedManyWithoutUserInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] } export type UserPreferencesCreateNestedOneWithoutUserInput = { create?: XOR connectOrCreate?: UserPreferencesCreateOrConnectWithoutUserInput connect?: UserPreferencesWhereUniqueInput } export type ChannelCreateNestedManyWithoutOwnerInput = { create?: XOR | ChannelCreateWithoutOwnerInput[] | ChannelUncheckedCreateWithoutOwnerInput[] connectOrCreate?: ChannelCreateOrConnectWithoutOwnerInput | ChannelCreateOrConnectWithoutOwnerInput[] createMany?: ChannelCreateManyOwnerInputEnvelope connect?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] } export type SessionUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] } export type UserPreferencesUncheckedCreateNestedOneWithoutUserInput = { create?: XOR connectOrCreate?: UserPreferencesCreateOrConnectWithoutUserInput connect?: UserPreferencesWhereUniqueInput } export type ChannelUncheckedCreateNestedManyWithoutOwnerInput = { create?: XOR | ChannelCreateWithoutOwnerInput[] | ChannelUncheckedCreateWithoutOwnerInput[] connectOrCreate?: ChannelCreateOrConnectWithoutOwnerInput | ChannelCreateOrConnectWithoutOwnerInput[] createMany?: ChannelCreateManyOwnerInputEnvelope connect?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type SessionUpdateManyWithoutUserNestedInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] upsert?: SessionUpsertWithWhereUniqueWithoutUserInput | SessionUpsertWithWhereUniqueWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope set?: SessionWhereUniqueInput | SessionWhereUniqueInput[] disconnect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] delete?: SessionWhereUniqueInput | SessionWhereUniqueInput[] connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] update?: SessionUpdateWithWhereUniqueWithoutUserInput | SessionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SessionUpdateManyWithWhereWithoutUserInput | SessionUpdateManyWithWhereWithoutUserInput[] deleteMany?: SessionScalarWhereInput | SessionScalarWhereInput[] } export type UserPreferencesUpdateOneWithoutUserNestedInput = { create?: XOR connectOrCreate?: UserPreferencesCreateOrConnectWithoutUserInput upsert?: UserPreferencesUpsertWithoutUserInput disconnect?: UserPreferencesWhereInput | boolean delete?: UserPreferencesWhereInput | boolean connect?: UserPreferencesWhereUniqueInput update?: XOR, UserPreferencesUncheckedUpdateWithoutUserInput> } export type ChannelUpdateManyWithoutOwnerNestedInput = { create?: XOR | ChannelCreateWithoutOwnerInput[] | ChannelUncheckedCreateWithoutOwnerInput[] connectOrCreate?: ChannelCreateOrConnectWithoutOwnerInput | ChannelCreateOrConnectWithoutOwnerInput[] upsert?: ChannelUpsertWithWhereUniqueWithoutOwnerInput | ChannelUpsertWithWhereUniqueWithoutOwnerInput[] createMany?: ChannelCreateManyOwnerInputEnvelope set?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] disconnect?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] delete?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] connect?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] update?: ChannelUpdateWithWhereUniqueWithoutOwnerInput | ChannelUpdateWithWhereUniqueWithoutOwnerInput[] updateMany?: ChannelUpdateManyWithWhereWithoutOwnerInput | ChannelUpdateManyWithWhereWithoutOwnerInput[] deleteMany?: ChannelScalarWhereInput | ChannelScalarWhereInput[] } export type SessionUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] upsert?: SessionUpsertWithWhereUniqueWithoutUserInput | SessionUpsertWithWhereUniqueWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope set?: SessionWhereUniqueInput | SessionWhereUniqueInput[] disconnect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] delete?: SessionWhereUniqueInput | SessionWhereUniqueInput[] connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] update?: SessionUpdateWithWhereUniqueWithoutUserInput | SessionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SessionUpdateManyWithWhereWithoutUserInput | SessionUpdateManyWithWhereWithoutUserInput[] deleteMany?: SessionScalarWhereInput | SessionScalarWhereInput[] } export type UserPreferencesUncheckedUpdateOneWithoutUserNestedInput = { create?: XOR connectOrCreate?: UserPreferencesCreateOrConnectWithoutUserInput upsert?: UserPreferencesUpsertWithoutUserInput disconnect?: UserPreferencesWhereInput | boolean delete?: UserPreferencesWhereInput | boolean connect?: UserPreferencesWhereUniqueInput update?: XOR, UserPreferencesUncheckedUpdateWithoutUserInput> } export type ChannelUncheckedUpdateManyWithoutOwnerNestedInput = { create?: XOR | ChannelCreateWithoutOwnerInput[] | ChannelUncheckedCreateWithoutOwnerInput[] connectOrCreate?: ChannelCreateOrConnectWithoutOwnerInput | ChannelCreateOrConnectWithoutOwnerInput[] upsert?: ChannelUpsertWithWhereUniqueWithoutOwnerInput | ChannelUpsertWithWhereUniqueWithoutOwnerInput[] createMany?: ChannelCreateManyOwnerInputEnvelope set?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] disconnect?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] delete?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] connect?: ChannelWhereUniqueInput | ChannelWhereUniqueInput[] update?: ChannelUpdateWithWhereUniqueWithoutOwnerInput | ChannelUpdateWithWhereUniqueWithoutOwnerInput[] updateMany?: ChannelUpdateManyWithWhereWithoutOwnerInput | ChannelUpdateManyWithWhereWithoutOwnerInput[] deleteMany?: ChannelScalarWhereInput | ChannelScalarWhereInput[] } export type UserCreateNestedOneWithoutSessionInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSessionInput connect?: UserWhereUniqueInput } export type UserUpdateOneRequiredWithoutSessionNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSessionInput upsert?: UserUpsertWithoutSessionInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutSessionInput> } export type UserCreateNestedOneWithoutUserPreferencesInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutUserPreferencesInput connect?: UserWhereUniqueInput } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type UserUpdateOneRequiredWithoutUserPreferencesNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutUserPreferencesInput upsert?: UserUpsertWithoutUserPreferencesInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutUserPreferencesInput> } export type UserCreateNestedOneWithoutChannelsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutChannelsInput connect?: UserWhereUniqueInput } export type NullableIntFieldUpdateOperationsInput = { set?: number | null increment?: number decrement?: number multiply?: number divide?: number } export type BoolFieldUpdateOperationsInput = { set?: boolean } export type UserUpdateOneWithoutChannelsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutChannelsInput upsert?: UserUpsertWithoutChannelsInput disconnect?: UserWhereInput | boolean delete?: UserWhereInput | boolean connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutChannelsInput> } export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] notIn?: string[] 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 NestedDateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] notIn?: Date[] | string[] 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[] notIn?: string[] 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[] notIn?: number[] lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntFilter<$PrismaModel> | number } export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] notIn?: Date[] | string[] 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 NestedStringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | null notIn?: string[] | 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 NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | null notIn?: string[] | 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[] | null notIn?: number[] | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type NestedBoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | null notIn?: number[] | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedIntNullableFilter<$PrismaModel> _min?: NestedIntNullableFilter<$PrismaModel> _max?: NestedIntNullableFilter<$PrismaModel> } export type NestedFloatNullableFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | null notIn?: number[] | null lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatNullableFilter<$PrismaModel> | number | null } export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type SessionCreateWithoutUserInput = { id: string expiresAt: Date | string } export type SessionUncheckedCreateWithoutUserInput = { id: string expiresAt: Date | string } export type SessionCreateOrConnectWithoutUserInput = { where: SessionWhereUniqueInput create: XOR } export type SessionCreateManyUserInputEnvelope = { data: SessionCreateManyUserInput | SessionCreateManyUserInput[] } export type UserPreferencesCreateWithoutUserInput = { toggleInputHotkey?: string | null toggleOutputHotkey?: string | null } export type UserPreferencesUncheckedCreateWithoutUserInput = { toggleInputHotkey?: string | null toggleOutputHotkey?: string | null } export type UserPreferencesCreateOrConnectWithoutUserInput = { where: UserPreferencesWhereUniqueInput create: XOR } export type ChannelCreateWithoutOwnerInput = { id: string name: string maxClients?: number | null persistent?: boolean } export type ChannelUncheckedCreateWithoutOwnerInput = { id: string name: string maxClients?: number | null persistent?: boolean } export type ChannelCreateOrConnectWithoutOwnerInput = { where: ChannelWhereUniqueInput create: XOR } export type ChannelCreateManyOwnerInputEnvelope = { data: ChannelCreateManyOwnerInput | ChannelCreateManyOwnerInput[] } export type SessionUpsertWithWhereUniqueWithoutUserInput = { where: SessionWhereUniqueInput update: XOR create: XOR } export type SessionUpdateWithWhereUniqueWithoutUserInput = { where: SessionWhereUniqueInput data: XOR } export type SessionUpdateManyWithWhereWithoutUserInput = { where: SessionScalarWhereInput data: XOR } export type SessionScalarWhereInput = { AND?: SessionScalarWhereInput | SessionScalarWhereInput[] OR?: SessionScalarWhereInput[] NOT?: SessionScalarWhereInput | SessionScalarWhereInput[] id?: StringFilter<"Session"> | string userId?: StringFilter<"Session"> | string expiresAt?: DateTimeFilter<"Session"> | Date | string } export type UserPreferencesUpsertWithoutUserInput = { update: XOR create: XOR where?: UserPreferencesWhereInput } export type UserPreferencesUpdateToOneWithWhereWithoutUserInput = { where?: UserPreferencesWhereInput data: XOR } export type UserPreferencesUpdateWithoutUserInput = { toggleInputHotkey?: NullableStringFieldUpdateOperationsInput | string | null toggleOutputHotkey?: NullableStringFieldUpdateOperationsInput | string | null } export type UserPreferencesUncheckedUpdateWithoutUserInput = { toggleInputHotkey?: NullableStringFieldUpdateOperationsInput | string | null toggleOutputHotkey?: NullableStringFieldUpdateOperationsInput | string | null } export type ChannelUpsertWithWhereUniqueWithoutOwnerInput = { where: ChannelWhereUniqueInput update: XOR create: XOR } export type ChannelUpdateWithWhereUniqueWithoutOwnerInput = { where: ChannelWhereUniqueInput data: XOR } export type ChannelUpdateManyWithWhereWithoutOwnerInput = { where: ChannelScalarWhereInput data: XOR } export type ChannelScalarWhereInput = { AND?: ChannelScalarWhereInput | ChannelScalarWhereInput[] OR?: ChannelScalarWhereInput[] NOT?: ChannelScalarWhereInput | ChannelScalarWhereInput[] id?: StringFilter<"Channel"> | string name?: StringFilter<"Channel"> | string maxClients?: IntNullableFilter<"Channel"> | number | null persistent?: BoolFilter<"Channel"> | boolean owner_id?: StringNullableFilter<"Channel"> | string | null } export type UserCreateWithoutSessionInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string UserPreferences?: UserPreferencesCreateNestedOneWithoutUserInput channels?: ChannelCreateNestedManyWithoutOwnerInput } export type UserUncheckedCreateWithoutSessionInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string UserPreferences?: UserPreferencesUncheckedCreateNestedOneWithoutUserInput channels?: ChannelUncheckedCreateNestedManyWithoutOwnerInput } export type UserCreateOrConnectWithoutSessionInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutSessionInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutSessionInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutSessionInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string UserPreferences?: UserPreferencesUpdateOneWithoutUserNestedInput channels?: ChannelUpdateManyWithoutOwnerNestedInput } export type UserUncheckedUpdateWithoutSessionInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string UserPreferences?: UserPreferencesUncheckedUpdateOneWithoutUserNestedInput channels?: ChannelUncheckedUpdateManyWithoutOwnerNestedInput } export type UserCreateWithoutUserPreferencesInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string Session?: SessionCreateNestedManyWithoutUserInput channels?: ChannelCreateNestedManyWithoutOwnerInput } export type UserUncheckedCreateWithoutUserPreferencesInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string Session?: SessionUncheckedCreateNestedManyWithoutUserInput channels?: ChannelUncheckedCreateNestedManyWithoutOwnerInput } export type UserCreateOrConnectWithoutUserPreferencesInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutUserPreferencesInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutUserPreferencesInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutUserPreferencesInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string Session?: SessionUpdateManyWithoutUserNestedInput channels?: ChannelUpdateManyWithoutOwnerNestedInput } export type UserUncheckedUpdateWithoutUserPreferencesInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string Session?: SessionUncheckedUpdateManyWithoutUserNestedInput channels?: ChannelUncheckedUpdateManyWithoutOwnerNestedInput } export type UserCreateWithoutChannelsInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string Session?: SessionCreateNestedManyWithoutUserInput UserPreferences?: UserPreferencesCreateNestedOneWithoutUserInput } export type UserUncheckedCreateWithoutChannelsInput = { id?: string username: string password: string displayName: string createdAt?: Date | string updatedAt?: Date | string Session?: SessionUncheckedCreateNestedManyWithoutUserInput UserPreferences?: UserPreferencesUncheckedCreateNestedOneWithoutUserInput } export type UserCreateOrConnectWithoutChannelsInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutChannelsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutChannelsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutChannelsInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string Session?: SessionUpdateManyWithoutUserNestedInput UserPreferences?: UserPreferencesUpdateOneWithoutUserNestedInput } export type UserUncheckedUpdateWithoutChannelsInput = { id?: StringFieldUpdateOperationsInput | string username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string displayName?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string Session?: SessionUncheckedUpdateManyWithoutUserNestedInput UserPreferences?: UserPreferencesUncheckedUpdateOneWithoutUserNestedInput } export type SessionCreateManyUserInput = { id: string expiresAt: Date | string } export type ChannelCreateManyOwnerInput = { id: string name: string maxClients?: number | null persistent?: boolean } export type SessionUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ChannelUpdateWithoutOwnerInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string maxClients?: NullableIntFieldUpdateOperationsInput | number | null persistent?: BoolFieldUpdateOperationsInput | boolean } export type ChannelUncheckedUpdateWithoutOwnerInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string maxClients?: NullableIntFieldUpdateOperationsInput | number | null persistent?: BoolFieldUpdateOperationsInput | boolean } export type ChannelUncheckedUpdateManyWithoutOwnerInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string maxClients?: NullableIntFieldUpdateOperationsInput | number | null persistent?: BoolFieldUpdateOperationsInput | boolean } /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }