/** * Client **/ import * as runtime from './runtime/library.js'; import $Types = runtime.Types // general types import $Public = runtime.Types.Public import $Utils = runtime.Types.Utils import $Extensions = runtime.Types.Extensions import $Result = runtime.Types.Result export type PrismaPromise = $Public.PrismaPromise /** * Model Note * */ export type Note = $Result.DefaultSelection /** * Model Notebook * */ export type Notebook = $Result.DefaultSelection /** * Model Label * */ export type Label = $Result.DefaultSelection /** * Model User * */ export type User = $Result.DefaultSelection /** * Model Account * */ export type Account = $Result.DefaultSelection /** * Model Session * */ export type Session = $Result.DefaultSelection /** * Model VerificationToken * */ export type VerificationToken = $Result.DefaultSelection /** * Model NoteShare * */ export type NoteShare = $Result.DefaultSelection /** * Model SystemConfig * */ export type SystemConfig = $Result.DefaultSelection /** * Model AiFeedback * */ export type AiFeedback = $Result.DefaultSelection /** * Model MemoryEchoInsight * */ export type MemoryEchoInsight = $Result.DefaultSelection /** * Model UserAISettings * */ export type UserAISettings = $Result.DefaultSelection /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Notes * const notes = await prisma.note.findMany() * ``` * * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ export class PrismaClient< ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Notes * const notes = await prisma.note.findMany() * ``` * * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): void; /** * Connect with the database */ $connect(): $Utils.JsPromise; /** * Disconnect from the database */ $disconnect(): $Utils.JsPromise; /** * Add a middleware * @deprecated since 4.16.0. For new code, prefer client extensions instead. * @see https://pris.ly/d/extensions */ $use(cb: Prisma.Middleware): void /** * Executes a prepared raw query and returns the number of affected rows. * @example * ``` * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Executes a raw query and returns the number of affected rows. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Performs a prepared raw query and returns the `SELECT` data. * @example * ``` * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Performs a raw query and returns the `SELECT` data. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. * @example * ``` * const [george, bob, alice] = await prisma.$transaction([ * prisma.user.create({ data: { name: 'George' } }), * prisma.user.create({ data: { name: 'Bob' } }), * prisma.user.create({ data: { name: 'Alice' } }), * ]) * ``` * * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). */ $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs> /** * `prisma.note`: Exposes CRUD operations for the **Note** model. * Example usage: * ```ts * // Fetch zero or more Notes * const notes = await prisma.note.findMany() * ``` */ get note(): Prisma.NoteDelegate; /** * `prisma.notebook`: Exposes CRUD operations for the **Notebook** model. * Example usage: * ```ts * // Fetch zero or more Notebooks * const notebooks = await prisma.notebook.findMany() * ``` */ get notebook(): Prisma.NotebookDelegate; /** * `prisma.label`: Exposes CRUD operations for the **Label** model. * Example usage: * ```ts * // Fetch zero or more Labels * const labels = await prisma.label.findMany() * ``` */ get label(): Prisma.LabelDelegate; /** * `prisma.user`: Exposes CRUD operations for the **User** model. * Example usage: * ```ts * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` */ get user(): Prisma.UserDelegate; /** * `prisma.account`: Exposes CRUD operations for the **Account** model. * Example usage: * ```ts * // Fetch zero or more Accounts * const accounts = await prisma.account.findMany() * ``` */ get account(): Prisma.AccountDelegate; /** * `prisma.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.verificationToken`: Exposes CRUD operations for the **VerificationToken** model. * Example usage: * ```ts * // Fetch zero or more VerificationTokens * const verificationTokens = await prisma.verificationToken.findMany() * ``` */ get verificationToken(): Prisma.VerificationTokenDelegate; /** * `prisma.noteShare`: Exposes CRUD operations for the **NoteShare** model. * Example usage: * ```ts * // Fetch zero or more NoteShares * const noteShares = await prisma.noteShare.findMany() * ``` */ get noteShare(): Prisma.NoteShareDelegate; /** * `prisma.systemConfig`: Exposes CRUD operations for the **SystemConfig** model. * Example usage: * ```ts * // Fetch zero or more SystemConfigs * const systemConfigs = await prisma.systemConfig.findMany() * ``` */ get systemConfig(): Prisma.SystemConfigDelegate; /** * `prisma.aiFeedback`: Exposes CRUD operations for the **AiFeedback** model. * Example usage: * ```ts * // Fetch zero or more AiFeedbacks * const aiFeedbacks = await prisma.aiFeedback.findMany() * ``` */ get aiFeedback(): Prisma.AiFeedbackDelegate; /** * `prisma.memoryEchoInsight`: Exposes CRUD operations for the **MemoryEchoInsight** model. * Example usage: * ```ts * // Fetch zero or more MemoryEchoInsights * const memoryEchoInsights = await prisma.memoryEchoInsight.findMany() * ``` */ get memoryEchoInsight(): Prisma.MemoryEchoInsightDelegate; /** * `prisma.userAISettings`: Exposes CRUD operations for the **UserAISettings** model. * Example usage: * ```ts * // Fetch zero or more UserAISettings * const userAISettings = await prisma.userAISettings.findMany() * ``` */ get userAISettings(): Prisma.UserAISettingsDelegate; } export namespace Prisma { export import DMMF = runtime.DMMF export type PrismaPromise = $Public.PrismaPromise /** * Validator */ export import validator = runtime.Public.validator /** * Prisma Errors */ export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag */ export import sql = runtime.sqltag export import empty = runtime.empty export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql /** * Decimal.js */ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric export type MetricHistogram = runtime.MetricHistogram export type MetricHistogramBucket = runtime.MetricHistogramBucket /** * Extensions */ export import Extension = $Extensions.UserArgs export import getExtensionContext = runtime.Extensions.getExtensionContext export import Args = $Public.Args export import Payload = $Public.Payload export import Result = $Public.Result export import Exact = $Public.Exact /** * Prisma Client JS version: 5.22.0 * Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2 */ export type PrismaVersion = { client: string } export const prismaVersion: PrismaVersion /** * Utility Types */ export import JsonObject = runtime.JsonObject export import JsonArray = runtime.JsonArray export import JsonValue = runtime.JsonValue export import InputJsonObject = runtime.InputJsonObject export import InputJsonArray = runtime.InputJsonArray export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of `null` values when working with JSON fields. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of `Prisma.DbNull`. * * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { private DbNull: never private constructor() } /** * Type of `Prisma.JsonNull`. * * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { private JsonNull: never private constructor() } /** * Type of `Prisma.AnyNull`. * * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { private AnyNull: never private constructor() } } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * Get the type of the value, that the Promise holds. */ export type PromiseType> = T extends PromiseLike ? U : T; /** * Get the return type of a function which returns a Promise. */ export type PromiseReturnType $Utils.JsPromise> = PromiseType> /** * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick = { [P in K]: T[P]; }; export type Enumerable = T | Array; export type RequiredKeys = { [K in keyof T]-?: {} extends Prisma__Pick ? never : K }[keyof T] export type TruthyKeys = keyof { [K in keyof T as T[K] extends false | undefined | null ? never : K]: K } export type TrueKeys = TruthyKeys>> /** * Subset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection */ export type Subset = { [key in keyof T]: key extends keyof U ? T[key] : never; }; /** * SelectSubset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. * Additionally, it validates, if both select and include are present. If the case, it errors. */ export type SelectSubset = { [key in keyof T]: key extends keyof U ? T[key] : never } & (T extends SelectAndInclude ? 'Please either choose `select` or `include`.' : T extends SelectAndOmit ? 'Please either choose `select` or `omit`.' : {}) /** * Subset + Intersection * @desc From `T` pick properties that exist in `U` and intersect `K` */ export type SubsetIntersection = { [key in keyof T]: key extends keyof U ? T[key] : never } & K type Without = { [P in Exclude]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ type XOR = T extends object ? U extends object ? (Without & U) | (Without & T) : U : T /** * Is T a Record? */ type IsObject = T extends Array ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False /** * If it's T[], return T */ export type UnEnumerate = T extends Array ? U : T /** * From ts-toolbelt */ type __Either = Omit & { // Merge all but K [P in K]: Prisma__Pick // With K possibilities }[K] type EitherStrict = Strict<__Either> type EitherLoose = ComputeRaw<__Either> type _Either< O extends object, K extends Key, strict extends Boolean > = { 1: EitherStrict 0: EitherLoose }[strict] type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either : never export type Union = any type PatchUndefined = { [K in keyof O]: O[K] extends undefined ? At : O[K] } & {} /** Helper Types for "Merge" **/ export type IntersectOf = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never export type Overwrite = { [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; } & {}; type _Merge = IntersectOf; }>>; type Key = string | number | symbol; type AtBasic = K extends keyof O ? O[K] : never; type AtStrict = O[K & keyof O]; type AtLoose = O extends unknown ? AtStrict : never; export type At = { 1: AtStrict; 0: AtLoose; }[strict]; export type ComputeRaw = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export type OptionalFlat = { [K in keyof O]?: O[K]; } & {}; type _Record = { [P in K]: T; }; // cause typescript not to expand types and preserve names type NoExpand = T extends unknown ? T : never; // this type assumes the passed object is entirely optional type AtLeast = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? K : never]-?: O[P]} & O : never>; type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ export type Merge = ComputeRaw<_Merge>>; /** A [[Boolean]] */ export type Boolean = True | False // /** // 1 // */ export type True = 1 /** 0 */ export type False = 0 export type Not = { 0: 1 1: 0 }[B] export type Extends = [A1] extends [never] ? 0 // anything `never` is false : A1 extends A2 ? 1 : 0 export type Has = Not< Extends, U1> > export type Or = { 0: { 0: 0 1: 1 } 1: { 0: 1 1: 1 } }[B1][B2] export type Keys = U extends unknown ? keyof U : never type Cast = A extends B ? A : B; export const type: unique symbol; /** * Used by group by */ export type GetScalarType = O extends object ? { [P in keyof T]: P extends keyof O ? O[P] : never } : never type FieldPaths< T, U = Omit > = IsObject extends True ? U : T type GetHavingFields = { [K in keyof T]: Or< Or, Extends<'AND', K>>, Extends<'NOT', K> > extends True ? // infer is only needed to not hit TS limit // based on the brilliant idea of Pierre-Antoine Mills // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 T[K] extends infer TK ? GetHavingFields extends object ? Merge> : never> : never : {} extends FieldPaths ? never : K }[keyof T] /** * Convert tuple to union */ type _TupleToUnion = T extends (infer E)[] ? E : never type TupleToUnion = _TupleToUnion type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T /** * Like `Pick`, but additionally can also accept an array of keys */ type PickEnumerable | keyof T> = Prisma__Pick> /** * Exclude all keys with underscores */ type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T export type FieldRef = runtime.FieldRef type FieldRefInputType = Model extends never ? never : FieldRef export const ModelName: { Note: 'Note', Notebook: 'Notebook', Label: 'Label', User: 'User', Account: 'Account', Session: 'Session', VerificationToken: 'VerificationToken', NoteShare: 'NoteShare', SystemConfig: 'SystemConfig', AiFeedback: 'AiFeedback', MemoryEchoInsight: 'MemoryEchoInsight', UserAISettings: 'UserAISettings' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] export type Datasources = { db?: Datasource } interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { meta: { modelProps: "note" | "notebook" | "label" | "user" | "account" | "session" | "verificationToken" | "noteShare" | "systemConfig" | "aiFeedback" | "memoryEchoInsight" | "userAISettings" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { Note: { payload: Prisma.$NotePayload fields: Prisma.NoteFieldRefs operations: { findUnique: { args: Prisma.NoteFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.NoteFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.NoteFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.NoteFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.NoteFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.NoteCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.NoteCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.NoteCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.NoteDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.NoteUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.NoteDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.NoteUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.NoteUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.NoteAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.NoteGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.NoteCountArgs result: $Utils.Optional | number } } } Notebook: { payload: Prisma.$NotebookPayload fields: Prisma.NotebookFieldRefs operations: { findUnique: { args: Prisma.NotebookFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.NotebookFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.NotebookFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.NotebookFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.NotebookFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.NotebookCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.NotebookCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.NotebookCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.NotebookDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.NotebookUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.NotebookDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.NotebookUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.NotebookUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.NotebookAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.NotebookGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.NotebookCountArgs result: $Utils.Optional | number } } } Label: { payload: Prisma.$LabelPayload fields: Prisma.LabelFieldRefs operations: { findUnique: { args: Prisma.LabelFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.LabelFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.LabelFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.LabelFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.LabelFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.LabelCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.LabelCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.LabelCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.LabelDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.LabelUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.LabelDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.LabelUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.LabelUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.LabelAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.LabelGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.LabelCountArgs result: $Utils.Optional | number } } } User: { payload: Prisma.$UserPayload fields: Prisma.UserFieldRefs operations: { findUnique: { args: Prisma.UserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UserFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UserCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UserCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UserCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UserDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UserDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UserUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserCountArgs result: $Utils.Optional | number } } } Account: { payload: Prisma.$AccountPayload fields: Prisma.AccountFieldRefs operations: { findUnique: { args: Prisma.AccountFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AccountFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AccountFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AccountFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AccountFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AccountCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AccountCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AccountCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AccountDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AccountUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AccountDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AccountUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.AccountUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AccountAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AccountGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AccountCountArgs result: $Utils.Optional | number } } } 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 } 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 } } } VerificationToken: { payload: Prisma.$VerificationTokenPayload fields: Prisma.VerificationTokenFieldRefs operations: { findUnique: { args: Prisma.VerificationTokenFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.VerificationTokenFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.VerificationTokenFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.VerificationTokenFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.VerificationTokenFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.VerificationTokenCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.VerificationTokenCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.VerificationTokenCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.VerificationTokenDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.VerificationTokenUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.VerificationTokenDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.VerificationTokenUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.VerificationTokenUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.VerificationTokenAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.VerificationTokenGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.VerificationTokenCountArgs result: $Utils.Optional | number } } } NoteShare: { payload: Prisma.$NoteSharePayload fields: Prisma.NoteShareFieldRefs operations: { findUnique: { args: Prisma.NoteShareFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.NoteShareFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.NoteShareFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.NoteShareFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.NoteShareFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.NoteShareCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.NoteShareCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.NoteShareCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.NoteShareDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.NoteShareUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.NoteShareDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.NoteShareUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.NoteShareUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.NoteShareAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.NoteShareGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.NoteShareCountArgs result: $Utils.Optional | number } } } SystemConfig: { payload: Prisma.$SystemConfigPayload fields: Prisma.SystemConfigFieldRefs operations: { findUnique: { args: Prisma.SystemConfigFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SystemConfigFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SystemConfigFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SystemConfigFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SystemConfigFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SystemConfigCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SystemConfigCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SystemConfigCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SystemConfigDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SystemConfigUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SystemConfigDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SystemConfigUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.SystemConfigUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SystemConfigAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SystemConfigGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SystemConfigCountArgs result: $Utils.Optional | number } } } AiFeedback: { payload: Prisma.$AiFeedbackPayload fields: Prisma.AiFeedbackFieldRefs operations: { findUnique: { args: Prisma.AiFeedbackFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AiFeedbackFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AiFeedbackFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AiFeedbackFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AiFeedbackFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AiFeedbackCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AiFeedbackCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AiFeedbackCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AiFeedbackDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AiFeedbackUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AiFeedbackDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AiFeedbackUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.AiFeedbackUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AiFeedbackAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AiFeedbackGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AiFeedbackCountArgs result: $Utils.Optional | number } } } MemoryEchoInsight: { payload: Prisma.$MemoryEchoInsightPayload fields: Prisma.MemoryEchoInsightFieldRefs operations: { findUnique: { args: Prisma.MemoryEchoInsightFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.MemoryEchoInsightFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.MemoryEchoInsightFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.MemoryEchoInsightFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.MemoryEchoInsightFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.MemoryEchoInsightCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.MemoryEchoInsightCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.MemoryEchoInsightCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.MemoryEchoInsightDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.MemoryEchoInsightUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.MemoryEchoInsightDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.MemoryEchoInsightUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.MemoryEchoInsightUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.MemoryEchoInsightAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.MemoryEchoInsightGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.MemoryEchoInsightCountArgs result: $Utils.Optional | number } } } UserAISettings: { payload: Prisma.$UserAISettingsPayload fields: Prisma.UserAISettingsFieldRefs operations: { findUnique: { args: Prisma.UserAISettingsFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UserAISettingsFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UserAISettingsFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UserAISettingsFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UserAISettingsFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UserAISettingsCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UserAISettingsCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UserAISettingsCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UserAISettingsDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UserAISettingsUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UserAISettingsDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UserAISettingsUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.UserAISettingsUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserAISettingsAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserAISettingsGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserAISettingsCountArgs result: $Utils.Optional | number } } } } } & { other: { payload: any operations: { $executeRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $executeRawUnsafe: { args: [query: string, ...values: any[]], result: any } $queryRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $queryRawUnsafe: { args: [query: string, ...values: any[]], result: any } } } } export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { /** * Overwrites the datasource url from your schema.prisma file */ datasources?: Datasources /** * Overwrites the datasource url from your schema.prisma file */ datasourceUrl?: string /** * @default "colorless" */ errorFormat?: ErrorFormat /** * @example * ``` * // Defaults to stdout * log: ['query', 'info', 'warn', 'error'] * * // Emit as events * log: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * { emit: 'stdout', level: 'error' } * ] * ``` * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). */ log?: (LogLevel | LogDefinition)[] /** * The default values for transactionOptions * maxWait ?= 2000 * timeout ?= 5000 */ transactionOptions?: { maxWait?: number timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type GetLogType = T extends LogDefinition ? T['emit'] extends 'event' ? T['level'] : never : never export type GetEvents = T extends Array ? GetLogType | GetLogType | GetLogType | GetLogType : never export type QueryEvent = { timestamp: Date query: string params: string duration: number target: string } export type LogEvent = { timestamp: Date message: string target: string } /* End Types for Logging */ export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' /** * These options are being passed into the middleware as "params" */ export type MiddlewareParams = { model?: ModelName action: PrismaAction args: any dataPath: string[] runInTransaction: boolean } /** * The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation */ export type Middleware = ( params: MiddlewareParams, next: (params: MiddlewareParams) => $Utils.JsPromise, ) => $Utils.JsPromise // tested in getLogLevel.test.ts export function getLogLevel(log: Array): LogLevel | undefined; /** * `PrismaClient` proxy available in interactive transactions. */ export type TransactionClient = Omit export type Datasource = { url?: string } /** * Count Types */ /** * Models */ /** * Model Note */ export type AggregateNote = { _count: NoteCountAggregateOutputType | null _avg: NoteAvgAggregateOutputType | null _sum: NoteSumAggregateOutputType | null _min: NoteMinAggregateOutputType | null _max: NoteMaxAggregateOutputType | null } export type NoteAvgAggregateOutputType = { order: number | null aiConfidence: number | null languageConfidence: number | null } export type NoteSumAggregateOutputType = { order: number | null aiConfidence: number | null languageConfidence: number | null } export type NoteMinAggregateOutputType = { id: string | null title: string | null content: string | null color: string | null isPinned: boolean | null isArchived: boolean | null type: string | null checkItems: string | null labels: string | null images: string | null links: string | null reminder: Date | null isReminderDone: boolean | null reminderRecurrence: string | null reminderLocation: string | null isMarkdown: boolean | null size: string | null embedding: string | null sharedWith: string | null userId: string | null order: number | null notebookId: string | null createdAt: Date | null updatedAt: Date | null autoGenerated: boolean | null aiProvider: string | null aiConfidence: number | null language: string | null languageConfidence: number | null lastAiAnalysis: Date | null } export type NoteMaxAggregateOutputType = { id: string | null title: string | null content: string | null color: string | null isPinned: boolean | null isArchived: boolean | null type: string | null checkItems: string | null labels: string | null images: string | null links: string | null reminder: Date | null isReminderDone: boolean | null reminderRecurrence: string | null reminderLocation: string | null isMarkdown: boolean | null size: string | null embedding: string | null sharedWith: string | null userId: string | null order: number | null notebookId: string | null createdAt: Date | null updatedAt: Date | null autoGenerated: boolean | null aiProvider: string | null aiConfidence: number | null language: string | null languageConfidence: number | null lastAiAnalysis: Date | null } export type NoteCountAggregateOutputType = { id: number title: number content: number color: number isPinned: number isArchived: number type: number checkItems: number labels: number images: number links: number reminder: number isReminderDone: number reminderRecurrence: number reminderLocation: number isMarkdown: number size: number embedding: number sharedWith: number userId: number order: number notebookId: number createdAt: number updatedAt: number autoGenerated: number aiProvider: number aiConfidence: number language: number languageConfidence: number lastAiAnalysis: number _all: number } export type NoteAvgAggregateInputType = { order?: true aiConfidence?: true languageConfidence?: true } export type NoteSumAggregateInputType = { order?: true aiConfidence?: true languageConfidence?: true } export type NoteMinAggregateInputType = { id?: true title?: true content?: true color?: true isPinned?: true isArchived?: true type?: true checkItems?: true labels?: true images?: true links?: true reminder?: true isReminderDone?: true reminderRecurrence?: true reminderLocation?: true isMarkdown?: true size?: true embedding?: true sharedWith?: true userId?: true order?: true notebookId?: true createdAt?: true updatedAt?: true autoGenerated?: true aiProvider?: true aiConfidence?: true language?: true languageConfidence?: true lastAiAnalysis?: true } export type NoteMaxAggregateInputType = { id?: true title?: true content?: true color?: true isPinned?: true isArchived?: true type?: true checkItems?: true labels?: true images?: true links?: true reminder?: true isReminderDone?: true reminderRecurrence?: true reminderLocation?: true isMarkdown?: true size?: true embedding?: true sharedWith?: true userId?: true order?: true notebookId?: true createdAt?: true updatedAt?: true autoGenerated?: true aiProvider?: true aiConfidence?: true language?: true languageConfidence?: true lastAiAnalysis?: true } export type NoteCountAggregateInputType = { id?: true title?: true content?: true color?: true isPinned?: true isArchived?: true type?: true checkItems?: true labels?: true images?: true links?: true reminder?: true isReminderDone?: true reminderRecurrence?: true reminderLocation?: true isMarkdown?: true size?: true embedding?: true sharedWith?: true userId?: true order?: true notebookId?: true createdAt?: true updatedAt?: true autoGenerated?: true aiProvider?: true aiConfidence?: true language?: true languageConfidence?: true lastAiAnalysis?: true _all?: true } export type NoteAggregateArgs = { /** * Filter which Note to aggregate. */ where?: NoteWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notes to fetch. */ orderBy?: NoteOrderByWithRelationInput | NoteOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: NoteWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notes 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` Notes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Notes **/ _count?: true | NoteCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: NoteAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: NoteSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: NoteMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: NoteMaxAggregateInputType } export type GetNoteAggregateType = { [P in keyof T & keyof AggregateNote]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type NoteGroupByArgs = { where?: NoteWhereInput orderBy?: NoteOrderByWithAggregationInput | NoteOrderByWithAggregationInput[] by: NoteScalarFieldEnum[] | NoteScalarFieldEnum having?: NoteScalarWhereWithAggregatesInput take?: number skip?: number _count?: NoteCountAggregateInputType | true _avg?: NoteAvgAggregateInputType _sum?: NoteSumAggregateInputType _min?: NoteMinAggregateInputType _max?: NoteMaxAggregateInputType } export type NoteGroupByOutputType = { id: string title: string | null content: string color: string isPinned: boolean isArchived: boolean type: string checkItems: string | null labels: string | null images: string | null links: string | null reminder: Date | null isReminderDone: boolean reminderRecurrence: string | null reminderLocation: string | null isMarkdown: boolean size: string embedding: string | null sharedWith: string | null userId: string | null order: number notebookId: string | null createdAt: Date updatedAt: Date autoGenerated: boolean | null aiProvider: string | null aiConfidence: number | null language: string | null languageConfidence: number | null lastAiAnalysis: Date | null _count: NoteCountAggregateOutputType | null _avg: NoteAvgAggregateOutputType | null _sum: NoteSumAggregateOutputType | null _min: NoteMinAggregateOutputType | null _max: NoteMaxAggregateOutputType | null } type GetNoteGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof NoteGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type NoteSelect = $Extensions.GetSelect<{ id?: boolean title?: boolean content?: boolean color?: boolean isPinned?: boolean isArchived?: boolean type?: boolean checkItems?: boolean labels?: boolean images?: boolean links?: boolean reminder?: boolean isReminderDone?: boolean reminderRecurrence?: boolean reminderLocation?: boolean isMarkdown?: boolean size?: boolean embedding?: boolean sharedWith?: boolean userId?: boolean order?: boolean notebookId?: boolean createdAt?: boolean updatedAt?: boolean autoGenerated?: boolean aiProvider?: boolean aiConfidence?: boolean language?: boolean languageConfidence?: boolean lastAiAnalysis?: boolean }, ExtArgs["result"]["note"]> export type NoteSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean title?: boolean content?: boolean color?: boolean isPinned?: boolean isArchived?: boolean type?: boolean checkItems?: boolean labels?: boolean images?: boolean links?: boolean reminder?: boolean isReminderDone?: boolean reminderRecurrence?: boolean reminderLocation?: boolean isMarkdown?: boolean size?: boolean embedding?: boolean sharedWith?: boolean userId?: boolean order?: boolean notebookId?: boolean createdAt?: boolean updatedAt?: boolean autoGenerated?: boolean aiProvider?: boolean aiConfidence?: boolean language?: boolean languageConfidence?: boolean lastAiAnalysis?: boolean }, ExtArgs["result"]["note"]> export type NoteSelectScalar = { id?: boolean title?: boolean content?: boolean color?: boolean isPinned?: boolean isArchived?: boolean type?: boolean checkItems?: boolean labels?: boolean images?: boolean links?: boolean reminder?: boolean isReminderDone?: boolean reminderRecurrence?: boolean reminderLocation?: boolean isMarkdown?: boolean size?: boolean embedding?: boolean sharedWith?: boolean userId?: boolean order?: boolean notebookId?: boolean createdAt?: boolean updatedAt?: boolean autoGenerated?: boolean aiProvider?: boolean aiConfidence?: boolean language?: boolean languageConfidence?: boolean lastAiAnalysis?: boolean } export type $NotePayload = { name: "Note" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string title: string | null content: string color: string isPinned: boolean isArchived: boolean type: string checkItems: string | null labels: string | null images: string | null links: string | null reminder: Date | null isReminderDone: boolean reminderRecurrence: string | null reminderLocation: string | null isMarkdown: boolean size: string embedding: string | null sharedWith: string | null userId: string | null order: number notebookId: string | null createdAt: Date updatedAt: Date autoGenerated: boolean | null aiProvider: string | null aiConfidence: number | null language: string | null languageConfidence: number | null lastAiAnalysis: Date | null }, ExtArgs["result"]["note"]> composites: {} } type NoteGetPayload = $Result.GetResult type NoteCountArgs = Omit & { select?: NoteCountAggregateInputType | true } export interface NoteDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Note'], meta: { name: 'Note' } } /** * Find zero or one Note that matches the filter. * @param {NoteFindUniqueArgs} args - Arguments to find a Note * @example * // Get one Note * const note = await prisma.note.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__NoteClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Note that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {NoteFindUniqueOrThrowArgs} args - Arguments to find a Note * @example * // Get one Note * const note = await prisma.note.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__NoteClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Note 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 {NoteFindFirstArgs} args - Arguments to find a Note * @example * // Get one Note * const note = await prisma.note.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__NoteClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Note 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 {NoteFindFirstOrThrowArgs} args - Arguments to find a Note * @example * // Get one Note * const note = await prisma.note.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__NoteClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Notes 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 {NoteFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Notes * const notes = await prisma.note.findMany() * * // Get first 10 Notes * const notes = await prisma.note.findMany({ take: 10 }) * * // Only select the `id` * const noteWithIdOnly = await prisma.note.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Note. * @param {NoteCreateArgs} args - Arguments to create a Note. * @example * // Create one Note * const Note = await prisma.note.create({ * data: { * // ... data to create a Note * } * }) * */ create(args: SelectSubset>): Prisma__NoteClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Notes. * @param {NoteCreateManyArgs} args - Arguments to create many Notes. * @example * // Create many Notes * const note = await prisma.note.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Notes and returns the data saved in the database. * @param {NoteCreateManyAndReturnArgs} args - Arguments to create many Notes. * @example * // Create many Notes * const note = await prisma.note.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Notes and only return the `id` * const noteWithIdOnly = await prisma.note.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Note. * @param {NoteDeleteArgs} args - Arguments to delete one Note. * @example * // Delete one Note * const Note = await prisma.note.delete({ * where: { * // ... filter to delete one Note * } * }) * */ delete(args: SelectSubset>): Prisma__NoteClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Note. * @param {NoteUpdateArgs} args - Arguments to update one Note. * @example * // Update one Note * const note = await prisma.note.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__NoteClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Notes. * @param {NoteDeleteManyArgs} args - Arguments to filter Notes to delete. * @example * // Delete a few Notes * const { count } = await prisma.note.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Notes. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NoteUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Notes * const note = await prisma.note.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Note. * @param {NoteUpsertArgs} args - Arguments to update or create a Note. * @example * // Update or create a Note * const note = await prisma.note.upsert({ * create: { * // ... data to create a Note * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Note we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__NoteClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Notes. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NoteCountArgs} args - Arguments to filter Notes to count. * @example * // Count the number of Notes * const count = await prisma.note.count({ * where: { * // ... the filter for the Notes 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 Note. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NoteAggregateArgs} 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 Note. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NoteGroupByArgs} 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 NoteGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: NoteGroupByArgs['orderBy'] } : { orderBy?: NoteGroupByArgs['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 ? GetNoteGroupByPayload : Prisma.PrismaPromise /** * Fields of the Note model */ readonly fields: NoteFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Note. * 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__NoteClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Note model */ interface NoteFieldRefs { readonly id: FieldRef<"Note", 'String'> readonly title: FieldRef<"Note", 'String'> readonly content: FieldRef<"Note", 'String'> readonly color: FieldRef<"Note", 'String'> readonly isPinned: FieldRef<"Note", 'Boolean'> readonly isArchived: FieldRef<"Note", 'Boolean'> readonly type: FieldRef<"Note", 'String'> readonly checkItems: FieldRef<"Note", 'String'> readonly labels: FieldRef<"Note", 'String'> readonly images: FieldRef<"Note", 'String'> readonly links: FieldRef<"Note", 'String'> readonly reminder: FieldRef<"Note", 'DateTime'> readonly isReminderDone: FieldRef<"Note", 'Boolean'> readonly reminderRecurrence: FieldRef<"Note", 'String'> readonly reminderLocation: FieldRef<"Note", 'String'> readonly isMarkdown: FieldRef<"Note", 'Boolean'> readonly size: FieldRef<"Note", 'String'> readonly embedding: FieldRef<"Note", 'String'> readonly sharedWith: FieldRef<"Note", 'String'> readonly userId: FieldRef<"Note", 'String'> readonly order: FieldRef<"Note", 'Int'> readonly notebookId: FieldRef<"Note", 'String'> readonly createdAt: FieldRef<"Note", 'DateTime'> readonly updatedAt: FieldRef<"Note", 'DateTime'> readonly autoGenerated: FieldRef<"Note", 'Boolean'> readonly aiProvider: FieldRef<"Note", 'String'> readonly aiConfidence: FieldRef<"Note", 'Int'> readonly language: FieldRef<"Note", 'String'> readonly languageConfidence: FieldRef<"Note", 'Float'> readonly lastAiAnalysis: FieldRef<"Note", 'DateTime'> } // Custom InputTypes /** * Note findUnique */ export type NoteFindUniqueArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * Filter, which Note to fetch. */ where: NoteWhereUniqueInput } /** * Note findUniqueOrThrow */ export type NoteFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * Filter, which Note to fetch. */ where: NoteWhereUniqueInput } /** * Note findFirst */ export type NoteFindFirstArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * Filter, which Note to fetch. */ where?: NoteWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notes to fetch. */ orderBy?: NoteOrderByWithRelationInput | NoteOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Notes. */ cursor?: NoteWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notes 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` Notes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Notes. */ distinct?: NoteScalarFieldEnum | NoteScalarFieldEnum[] } /** * Note findFirstOrThrow */ export type NoteFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * Filter, which Note to fetch. */ where?: NoteWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notes to fetch. */ orderBy?: NoteOrderByWithRelationInput | NoteOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Notes. */ cursor?: NoteWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notes 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` Notes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Notes. */ distinct?: NoteScalarFieldEnum | NoteScalarFieldEnum[] } /** * Note findMany */ export type NoteFindManyArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * Filter, which Notes to fetch. */ where?: NoteWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notes to fetch. */ orderBy?: NoteOrderByWithRelationInput | NoteOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Notes. */ cursor?: NoteWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notes 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` Notes. */ skip?: number distinct?: NoteScalarFieldEnum | NoteScalarFieldEnum[] } /** * Note create */ export type NoteCreateArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * The data needed to create a Note. */ data: XOR } /** * Note createMany */ export type NoteCreateManyArgs = { /** * The data used to create many Notes. */ data: NoteCreateManyInput | NoteCreateManyInput[] } /** * Note createManyAndReturn */ export type NoteCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelectCreateManyAndReturn | null /** * The data used to create many Notes. */ data: NoteCreateManyInput | NoteCreateManyInput[] } /** * Note update */ export type NoteUpdateArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * The data needed to update a Note. */ data: XOR /** * Choose, which Note to update. */ where: NoteWhereUniqueInput } /** * Note updateMany */ export type NoteUpdateManyArgs = { /** * The data used to update Notes. */ data: XOR /** * Filter which Notes to update */ where?: NoteWhereInput } /** * Note upsert */ export type NoteUpsertArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * The filter to search for the Note to update in case it exists. */ where: NoteWhereUniqueInput /** * In case the Note found by the `where` argument doesn't exist, create a new Note with this data. */ create: XOR /** * In case the Note was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Note delete */ export type NoteDeleteArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null /** * Filter which Note to delete. */ where: NoteWhereUniqueInput } /** * Note deleteMany */ export type NoteDeleteManyArgs = { /** * Filter which Notes to delete */ where?: NoteWhereInput } /** * Note without action */ export type NoteDefaultArgs = { /** * Select specific fields to fetch from the Note */ select?: NoteSelect | null } /** * Model Notebook */ export type AggregateNotebook = { _count: NotebookCountAggregateOutputType | null _avg: NotebookAvgAggregateOutputType | null _sum: NotebookSumAggregateOutputType | null _min: NotebookMinAggregateOutputType | null _max: NotebookMaxAggregateOutputType | null } export type NotebookAvgAggregateOutputType = { order: number | null } export type NotebookSumAggregateOutputType = { order: number | null } export type NotebookMinAggregateOutputType = { id: string | null name: string | null icon: string | null color: string | null order: number | null userId: string | null createdAt: Date | null updatedAt: Date | null } export type NotebookMaxAggregateOutputType = { id: string | null name: string | null icon: string | null color: string | null order: number | null userId: string | null createdAt: Date | null updatedAt: Date | null } export type NotebookCountAggregateOutputType = { id: number name: number icon: number color: number order: number userId: number createdAt: number updatedAt: number _all: number } export type NotebookAvgAggregateInputType = { order?: true } export type NotebookSumAggregateInputType = { order?: true } export type NotebookMinAggregateInputType = { id?: true name?: true icon?: true color?: true order?: true userId?: true createdAt?: true updatedAt?: true } export type NotebookMaxAggregateInputType = { id?: true name?: true icon?: true color?: true order?: true userId?: true createdAt?: true updatedAt?: true } export type NotebookCountAggregateInputType = { id?: true name?: true icon?: true color?: true order?: true userId?: true createdAt?: true updatedAt?: true _all?: true } export type NotebookAggregateArgs = { /** * Filter which Notebook to aggregate. */ where?: NotebookWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notebooks to fetch. */ orderBy?: NotebookOrderByWithRelationInput | NotebookOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: NotebookWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notebooks 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` Notebooks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Notebooks **/ _count?: true | NotebookCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: NotebookAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: NotebookSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: NotebookMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: NotebookMaxAggregateInputType } export type GetNotebookAggregateType = { [P in keyof T & keyof AggregateNotebook]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type NotebookGroupByArgs = { where?: NotebookWhereInput orderBy?: NotebookOrderByWithAggregationInput | NotebookOrderByWithAggregationInput[] by: NotebookScalarFieldEnum[] | NotebookScalarFieldEnum having?: NotebookScalarWhereWithAggregatesInput take?: number skip?: number _count?: NotebookCountAggregateInputType | true _avg?: NotebookAvgAggregateInputType _sum?: NotebookSumAggregateInputType _min?: NotebookMinAggregateInputType _max?: NotebookMaxAggregateInputType } export type NotebookGroupByOutputType = { id: string name: string icon: string | null color: string | null order: number userId: string createdAt: Date updatedAt: Date _count: NotebookCountAggregateOutputType | null _avg: NotebookAvgAggregateOutputType | null _sum: NotebookSumAggregateOutputType | null _min: NotebookMinAggregateOutputType | null _max: NotebookMaxAggregateOutputType | null } type GetNotebookGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof NotebookGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type NotebookSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean icon?: boolean color?: boolean order?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["notebook"]> export type NotebookSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean icon?: boolean color?: boolean order?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["notebook"]> export type NotebookSelectScalar = { id?: boolean name?: boolean icon?: boolean color?: boolean order?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean } export type $NotebookPayload = { name: "Notebook" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string name: string icon: string | null color: string | null order: number userId: string createdAt: Date updatedAt: Date }, ExtArgs["result"]["notebook"]> composites: {} } type NotebookGetPayload = $Result.GetResult type NotebookCountArgs = Omit & { select?: NotebookCountAggregateInputType | true } export interface NotebookDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Notebook'], meta: { name: 'Notebook' } } /** * Find zero or one Notebook that matches the filter. * @param {NotebookFindUniqueArgs} args - Arguments to find a Notebook * @example * // Get one Notebook * const notebook = await prisma.notebook.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__NotebookClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Notebook that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {NotebookFindUniqueOrThrowArgs} args - Arguments to find a Notebook * @example * // Get one Notebook * const notebook = await prisma.notebook.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__NotebookClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Notebook 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 {NotebookFindFirstArgs} args - Arguments to find a Notebook * @example * // Get one Notebook * const notebook = await prisma.notebook.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__NotebookClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Notebook 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 {NotebookFindFirstOrThrowArgs} args - Arguments to find a Notebook * @example * // Get one Notebook * const notebook = await prisma.notebook.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__NotebookClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Notebooks 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 {NotebookFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Notebooks * const notebooks = await prisma.notebook.findMany() * * // Get first 10 Notebooks * const notebooks = await prisma.notebook.findMany({ take: 10 }) * * // Only select the `id` * const notebookWithIdOnly = await prisma.notebook.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Notebook. * @param {NotebookCreateArgs} args - Arguments to create a Notebook. * @example * // Create one Notebook * const Notebook = await prisma.notebook.create({ * data: { * // ... data to create a Notebook * } * }) * */ create(args: SelectSubset>): Prisma__NotebookClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Notebooks. * @param {NotebookCreateManyArgs} args - Arguments to create many Notebooks. * @example * // Create many Notebooks * const notebook = await prisma.notebook.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Notebooks and returns the data saved in the database. * @param {NotebookCreateManyAndReturnArgs} args - Arguments to create many Notebooks. * @example * // Create many Notebooks * const notebook = await prisma.notebook.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Notebooks and only return the `id` * const notebookWithIdOnly = await prisma.notebook.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Notebook. * @param {NotebookDeleteArgs} args - Arguments to delete one Notebook. * @example * // Delete one Notebook * const Notebook = await prisma.notebook.delete({ * where: { * // ... filter to delete one Notebook * } * }) * */ delete(args: SelectSubset>): Prisma__NotebookClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Notebook. * @param {NotebookUpdateArgs} args - Arguments to update one Notebook. * @example * // Update one Notebook * const notebook = await prisma.notebook.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__NotebookClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Notebooks. * @param {NotebookDeleteManyArgs} args - Arguments to filter Notebooks to delete. * @example * // Delete a few Notebooks * const { count } = await prisma.notebook.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Notebooks. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotebookUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Notebooks * const notebook = await prisma.notebook.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Notebook. * @param {NotebookUpsertArgs} args - Arguments to update or create a Notebook. * @example * // Update or create a Notebook * const notebook = await prisma.notebook.upsert({ * create: { * // ... data to create a Notebook * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Notebook we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__NotebookClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Notebooks. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotebookCountArgs} args - Arguments to filter Notebooks to count. * @example * // Count the number of Notebooks * const count = await prisma.notebook.count({ * where: { * // ... the filter for the Notebooks 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 Notebook. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotebookAggregateArgs} 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 Notebook. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotebookGroupByArgs} 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 NotebookGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: NotebookGroupByArgs['orderBy'] } : { orderBy?: NotebookGroupByArgs['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 ? GetNotebookGroupByPayload : Prisma.PrismaPromise /** * Fields of the Notebook model */ readonly fields: NotebookFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Notebook. * 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__NotebookClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Notebook model */ interface NotebookFieldRefs { readonly id: FieldRef<"Notebook", 'String'> readonly name: FieldRef<"Notebook", 'String'> readonly icon: FieldRef<"Notebook", 'String'> readonly color: FieldRef<"Notebook", 'String'> readonly order: FieldRef<"Notebook", 'Int'> readonly userId: FieldRef<"Notebook", 'String'> readonly createdAt: FieldRef<"Notebook", 'DateTime'> readonly updatedAt: FieldRef<"Notebook", 'DateTime'> } // Custom InputTypes /** * Notebook findUnique */ export type NotebookFindUniqueArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * Filter, which Notebook to fetch. */ where: NotebookWhereUniqueInput } /** * Notebook findUniqueOrThrow */ export type NotebookFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * Filter, which Notebook to fetch. */ where: NotebookWhereUniqueInput } /** * Notebook findFirst */ export type NotebookFindFirstArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * Filter, which Notebook to fetch. */ where?: NotebookWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notebooks to fetch. */ orderBy?: NotebookOrderByWithRelationInput | NotebookOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Notebooks. */ cursor?: NotebookWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notebooks 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` Notebooks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Notebooks. */ distinct?: NotebookScalarFieldEnum | NotebookScalarFieldEnum[] } /** * Notebook findFirstOrThrow */ export type NotebookFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * Filter, which Notebook to fetch. */ where?: NotebookWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notebooks to fetch. */ orderBy?: NotebookOrderByWithRelationInput | NotebookOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Notebooks. */ cursor?: NotebookWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notebooks 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` Notebooks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Notebooks. */ distinct?: NotebookScalarFieldEnum | NotebookScalarFieldEnum[] } /** * Notebook findMany */ export type NotebookFindManyArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * Filter, which Notebooks to fetch. */ where?: NotebookWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notebooks to fetch. */ orderBy?: NotebookOrderByWithRelationInput | NotebookOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Notebooks. */ cursor?: NotebookWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notebooks 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` Notebooks. */ skip?: number distinct?: NotebookScalarFieldEnum | NotebookScalarFieldEnum[] } /** * Notebook create */ export type NotebookCreateArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * The data needed to create a Notebook. */ data: XOR } /** * Notebook createMany */ export type NotebookCreateManyArgs = { /** * The data used to create many Notebooks. */ data: NotebookCreateManyInput | NotebookCreateManyInput[] } /** * Notebook createManyAndReturn */ export type NotebookCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelectCreateManyAndReturn | null /** * The data used to create many Notebooks. */ data: NotebookCreateManyInput | NotebookCreateManyInput[] } /** * Notebook update */ export type NotebookUpdateArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * The data needed to update a Notebook. */ data: XOR /** * Choose, which Notebook to update. */ where: NotebookWhereUniqueInput } /** * Notebook updateMany */ export type NotebookUpdateManyArgs = { /** * The data used to update Notebooks. */ data: XOR /** * Filter which Notebooks to update */ where?: NotebookWhereInput } /** * Notebook upsert */ export type NotebookUpsertArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * The filter to search for the Notebook to update in case it exists. */ where: NotebookWhereUniqueInput /** * In case the Notebook found by the `where` argument doesn't exist, create a new Notebook with this data. */ create: XOR /** * In case the Notebook was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Notebook delete */ export type NotebookDeleteArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null /** * Filter which Notebook to delete. */ where: NotebookWhereUniqueInput } /** * Notebook deleteMany */ export type NotebookDeleteManyArgs = { /** * Filter which Notebooks to delete */ where?: NotebookWhereInput } /** * Notebook without action */ export type NotebookDefaultArgs = { /** * Select specific fields to fetch from the Notebook */ select?: NotebookSelect | null } /** * Model Label */ export type AggregateLabel = { _count: LabelCountAggregateOutputType | null _min: LabelMinAggregateOutputType | null _max: LabelMaxAggregateOutputType | null } export type LabelMinAggregateOutputType = { id: string | null name: string | null color: string | null notebookId: string | null userId: string | null createdAt: Date | null updatedAt: Date | null } export type LabelMaxAggregateOutputType = { id: string | null name: string | null color: string | null notebookId: string | null userId: string | null createdAt: Date | null updatedAt: Date | null } export type LabelCountAggregateOutputType = { id: number name: number color: number notebookId: number userId: number createdAt: number updatedAt: number _all: number } export type LabelMinAggregateInputType = { id?: true name?: true color?: true notebookId?: true userId?: true createdAt?: true updatedAt?: true } export type LabelMaxAggregateInputType = { id?: true name?: true color?: true notebookId?: true userId?: true createdAt?: true updatedAt?: true } export type LabelCountAggregateInputType = { id?: true name?: true color?: true notebookId?: true userId?: true createdAt?: true updatedAt?: true _all?: true } export type LabelAggregateArgs = { /** * Filter which Label to aggregate. */ where?: LabelWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Labels to fetch. */ orderBy?: LabelOrderByWithRelationInput | LabelOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: LabelWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Labels 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` Labels. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Labels **/ _count?: true | LabelCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: LabelMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: LabelMaxAggregateInputType } export type GetLabelAggregateType = { [P in keyof T & keyof AggregateLabel]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type LabelGroupByArgs = { where?: LabelWhereInput orderBy?: LabelOrderByWithAggregationInput | LabelOrderByWithAggregationInput[] by: LabelScalarFieldEnum[] | LabelScalarFieldEnum having?: LabelScalarWhereWithAggregatesInput take?: number skip?: number _count?: LabelCountAggregateInputType | true _min?: LabelMinAggregateInputType _max?: LabelMaxAggregateInputType } export type LabelGroupByOutputType = { id: string name: string color: string notebookId: string | null userId: string | null createdAt: Date updatedAt: Date _count: LabelCountAggregateOutputType | null _min: LabelMinAggregateOutputType | null _max: LabelMaxAggregateOutputType | null } type GetLabelGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof LabelGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type LabelSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean color?: boolean notebookId?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["label"]> export type LabelSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean color?: boolean notebookId?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["label"]> export type LabelSelectScalar = { id?: boolean name?: boolean color?: boolean notebookId?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean } export type $LabelPayload = { name: "Label" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string name: string color: string notebookId: string | null userId: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["label"]> composites: {} } type LabelGetPayload = $Result.GetResult type LabelCountArgs = Omit & { select?: LabelCountAggregateInputType | true } export interface LabelDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Label'], meta: { name: 'Label' } } /** * Find zero or one Label that matches the filter. * @param {LabelFindUniqueArgs} args - Arguments to find a Label * @example * // Get one Label * const label = await prisma.label.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__LabelClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Label that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {LabelFindUniqueOrThrowArgs} args - Arguments to find a Label * @example * // Get one Label * const label = await prisma.label.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__LabelClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Label 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 {LabelFindFirstArgs} args - Arguments to find a Label * @example * // Get one Label * const label = await prisma.label.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__LabelClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Label 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 {LabelFindFirstOrThrowArgs} args - Arguments to find a Label * @example * // Get one Label * const label = await prisma.label.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__LabelClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Labels 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 {LabelFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Labels * const labels = await prisma.label.findMany() * * // Get first 10 Labels * const labels = await prisma.label.findMany({ take: 10 }) * * // Only select the `id` * const labelWithIdOnly = await prisma.label.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Label. * @param {LabelCreateArgs} args - Arguments to create a Label. * @example * // Create one Label * const Label = await prisma.label.create({ * data: { * // ... data to create a Label * } * }) * */ create(args: SelectSubset>): Prisma__LabelClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Labels. * @param {LabelCreateManyArgs} args - Arguments to create many Labels. * @example * // Create many Labels * const label = await prisma.label.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Labels and returns the data saved in the database. * @param {LabelCreateManyAndReturnArgs} args - Arguments to create many Labels. * @example * // Create many Labels * const label = await prisma.label.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Labels and only return the `id` * const labelWithIdOnly = await prisma.label.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Label. * @param {LabelDeleteArgs} args - Arguments to delete one Label. * @example * // Delete one Label * const Label = await prisma.label.delete({ * where: { * // ... filter to delete one Label * } * }) * */ delete(args: SelectSubset>): Prisma__LabelClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Label. * @param {LabelUpdateArgs} args - Arguments to update one Label. * @example * // Update one Label * const label = await prisma.label.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__LabelClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Labels. * @param {LabelDeleteManyArgs} args - Arguments to filter Labels to delete. * @example * // Delete a few Labels * const { count } = await prisma.label.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Labels. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {LabelUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Labels * const label = await prisma.label.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Label. * @param {LabelUpsertArgs} args - Arguments to update or create a Label. * @example * // Update or create a Label * const label = await prisma.label.upsert({ * create: { * // ... data to create a Label * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Label we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__LabelClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Labels. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {LabelCountArgs} args - Arguments to filter Labels to count. * @example * // Count the number of Labels * const count = await prisma.label.count({ * where: { * // ... the filter for the Labels 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 Label. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {LabelAggregateArgs} 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 Label. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {LabelGroupByArgs} 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 LabelGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: LabelGroupByArgs['orderBy'] } : { orderBy?: LabelGroupByArgs['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 ? GetLabelGroupByPayload : Prisma.PrismaPromise /** * Fields of the Label model */ readonly fields: LabelFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Label. * 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__LabelClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Label model */ interface LabelFieldRefs { readonly id: FieldRef<"Label", 'String'> readonly name: FieldRef<"Label", 'String'> readonly color: FieldRef<"Label", 'String'> readonly notebookId: FieldRef<"Label", 'String'> readonly userId: FieldRef<"Label", 'String'> readonly createdAt: FieldRef<"Label", 'DateTime'> readonly updatedAt: FieldRef<"Label", 'DateTime'> } // Custom InputTypes /** * Label findUnique */ export type LabelFindUniqueArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * Filter, which Label to fetch. */ where: LabelWhereUniqueInput } /** * Label findUniqueOrThrow */ export type LabelFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * Filter, which Label to fetch. */ where: LabelWhereUniqueInput } /** * Label findFirst */ export type LabelFindFirstArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * Filter, which Label to fetch. */ where?: LabelWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Labels to fetch. */ orderBy?: LabelOrderByWithRelationInput | LabelOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Labels. */ cursor?: LabelWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Labels 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` Labels. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Labels. */ distinct?: LabelScalarFieldEnum | LabelScalarFieldEnum[] } /** * Label findFirstOrThrow */ export type LabelFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * Filter, which Label to fetch. */ where?: LabelWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Labels to fetch. */ orderBy?: LabelOrderByWithRelationInput | LabelOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Labels. */ cursor?: LabelWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Labels 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` Labels. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Labels. */ distinct?: LabelScalarFieldEnum | LabelScalarFieldEnum[] } /** * Label findMany */ export type LabelFindManyArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * Filter, which Labels to fetch. */ where?: LabelWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Labels to fetch. */ orderBy?: LabelOrderByWithRelationInput | LabelOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Labels. */ cursor?: LabelWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Labels 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` Labels. */ skip?: number distinct?: LabelScalarFieldEnum | LabelScalarFieldEnum[] } /** * Label create */ export type LabelCreateArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * The data needed to create a Label. */ data: XOR } /** * Label createMany */ export type LabelCreateManyArgs = { /** * The data used to create many Labels. */ data: LabelCreateManyInput | LabelCreateManyInput[] } /** * Label createManyAndReturn */ export type LabelCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelectCreateManyAndReturn | null /** * The data used to create many Labels. */ data: LabelCreateManyInput | LabelCreateManyInput[] } /** * Label update */ export type LabelUpdateArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * The data needed to update a Label. */ data: XOR /** * Choose, which Label to update. */ where: LabelWhereUniqueInput } /** * Label updateMany */ export type LabelUpdateManyArgs = { /** * The data used to update Labels. */ data: XOR /** * Filter which Labels to update */ where?: LabelWhereInput } /** * Label upsert */ export type LabelUpsertArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * The filter to search for the Label to update in case it exists. */ where: LabelWhereUniqueInput /** * In case the Label found by the `where` argument doesn't exist, create a new Label with this data. */ create: XOR /** * In case the Label was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Label delete */ export type LabelDeleteArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null /** * Filter which Label to delete. */ where: LabelWhereUniqueInput } /** * Label deleteMany */ export type LabelDeleteManyArgs = { /** * Filter which Labels to delete */ where?: LabelWhereInput } /** * Label without action */ export type LabelDefaultArgs = { /** * Select specific fields to fetch from the Label */ select?: LabelSelect | null } /** * Model User */ export type AggregateUser = { _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } export type UserMinAggregateOutputType = { id: string | null name: string | null email: string | null emailVerified: Date | null password: string | null role: string | null image: string | null theme: string | null resetToken: string | null resetTokenExpiry: Date | null createdAt: Date | null updatedAt: Date | null } export type UserMaxAggregateOutputType = { id: string | null name: string | null email: string | null emailVerified: Date | null password: string | null role: string | null image: string | null theme: string | null resetToken: string | null resetTokenExpiry: Date | null createdAt: Date | null updatedAt: Date | null } export type UserCountAggregateOutputType = { id: number name: number email: number emailVerified: number password: number role: number image: number theme: number resetToken: number resetTokenExpiry: number createdAt: number updatedAt: number _all: number } export type UserMinAggregateInputType = { id?: true name?: true email?: true emailVerified?: true password?: true role?: true image?: true theme?: true resetToken?: true resetTokenExpiry?: true createdAt?: true updatedAt?: true } export type UserMaxAggregateInputType = { id?: true name?: true email?: true emailVerified?: true password?: true role?: true image?: true theme?: true resetToken?: true resetTokenExpiry?: true createdAt?: true updatedAt?: true } export type UserCountAggregateInputType = { id?: true name?: true email?: true emailVerified?: true password?: true role?: true image?: true theme?: true resetToken?: true resetTokenExpiry?: 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 name: string | null email: string emailVerified: Date | null password: string | null role: string image: string | null theme: string resetToken: string | null resetTokenExpiry: Date | null 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 name?: boolean email?: boolean emailVerified?: boolean password?: boolean role?: boolean image?: boolean theme?: boolean resetToken?: boolean resetTokenExpiry?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean email?: boolean emailVerified?: boolean password?: boolean role?: boolean image?: boolean theme?: boolean resetToken?: boolean resetTokenExpiry?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean name?: boolean email?: boolean emailVerified?: boolean password?: boolean role?: boolean image?: boolean theme?: boolean resetToken?: boolean resetTokenExpiry?: boolean createdAt?: boolean updatedAt?: boolean } export type $UserPayload = { name: "User" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string name: string | null email: string emailVerified: Date | null password: string | null role: string image: string | null theme: string resetToken: string | null resetTokenExpiry: Date | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["user"]> composites: {} } type UserGetPayload = $Result.GetResult type UserCountArgs = Omit & { select?: UserCountAggregateInputType | true } export interface UserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } /** * Find zero or one User that matches the filter. * @param {UserFindUniqueArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one User that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first User that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindFirstArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first User that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindFirstOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Users that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Users * const users = await prisma.user.findMany() * * // Get first 10 Users * const users = await prisma.user.findMany({ take: 10 }) * * // Only select the `id` * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a User. * @param {UserCreateArgs} args - Arguments to create a User. * @example * // Create one User * const User = await prisma.user.create({ * data: { * // ... data to create a User * } * }) * */ create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Users. * @param {UserCreateManyArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Users and returns the data saved in the database. * @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Users and only return the `id` * const userWithIdOnly = await prisma.user.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a User. * @param {UserDeleteArgs} args - Arguments to delete one User. * @example * // Delete one User * const User = await prisma.user.delete({ * where: { * // ... filter to delete one User * } * }) * */ delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one User. * @param {UserUpdateArgs} args - Arguments to update one User. * @example * // Update one User * const user = await prisma.user.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Users. * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. * @example * // Delete a few Users * const { count } = await prisma.user.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Users * const user = await prisma.user.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one User. * @param {UserUpsertArgs} args - Arguments to update or create a User. * @example * // Update or create a User * const user = await prisma.user.upsert({ * create: { * // ... data to create a User * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the User we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserCountArgs} args - Arguments to filter Users to count. * @example * // Count the number of Users * const count = await prisma.user.count({ * where: { * // ... the filter for the Users we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends UserGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserGroupByArgs['orderBy'] } : { orderBy?: UserGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserGroupByPayload : Prisma.PrismaPromise /** * Fields of the User model */ readonly fields: UserFieldRefs; } /** * The delegate class that acts as a "Promise-like" for User. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__UserClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the User model */ interface UserFieldRefs { readonly id: FieldRef<"User", 'String'> readonly name: FieldRef<"User", 'String'> readonly email: FieldRef<"User", 'String'> readonly emailVerified: FieldRef<"User", 'DateTime'> readonly password: FieldRef<"User", 'String'> readonly role: FieldRef<"User", 'String'> readonly image: FieldRef<"User", 'String'> readonly theme: FieldRef<"User", 'String'> readonly resetToken: FieldRef<"User", 'String'> readonly resetTokenExpiry: FieldRef<"User", 'DateTime'> 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 /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findUniqueOrThrow */ export type UserFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findFirst */ export type UserFindFirstArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | 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 /** * 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 /** * 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 /** * 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 /** * 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 /** * The data needed to update a User. */ data: XOR /** * Choose, which User to update. */ where: UserWhereUniqueInput } /** * User updateMany */ export type UserUpdateManyArgs = { /** * The data used to update Users. */ data: XOR /** * Filter which Users to update */ where?: UserWhereInput } /** * User upsert */ export type UserUpsertArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * 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 /** * Filter which User to delete. */ where: UserWhereUniqueInput } /** * User deleteMany */ export type UserDeleteManyArgs = { /** * Filter which Users to delete */ where?: UserWhereInput } /** * User without action */ export type UserDefaultArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null } /** * Model Account */ export type AggregateAccount = { _count: AccountCountAggregateOutputType | null _avg: AccountAvgAggregateOutputType | null _sum: AccountSumAggregateOutputType | null _min: AccountMinAggregateOutputType | null _max: AccountMaxAggregateOutputType | null } export type AccountAvgAggregateOutputType = { expires_at: number | null } export type AccountSumAggregateOutputType = { expires_at: number | null } export type AccountMinAggregateOutputType = { userId: string | null type: string | null provider: string | null providerAccountId: string | null refresh_token: string | null access_token: string | null expires_at: number | null token_type: string | null scope: string | null id_token: string | null session_state: string | null createdAt: Date | null updatedAt: Date | null } export type AccountMaxAggregateOutputType = { userId: string | null type: string | null provider: string | null providerAccountId: string | null refresh_token: string | null access_token: string | null expires_at: number | null token_type: string | null scope: string | null id_token: string | null session_state: string | null createdAt: Date | null updatedAt: Date | null } export type AccountCountAggregateOutputType = { userId: number type: number provider: number providerAccountId: number refresh_token: number access_token: number expires_at: number token_type: number scope: number id_token: number session_state: number createdAt: number updatedAt: number _all: number } export type AccountAvgAggregateInputType = { expires_at?: true } export type AccountSumAggregateInputType = { expires_at?: true } export type AccountMinAggregateInputType = { userId?: true type?: true provider?: true providerAccountId?: true refresh_token?: true access_token?: true expires_at?: true token_type?: true scope?: true id_token?: true session_state?: true createdAt?: true updatedAt?: true } export type AccountMaxAggregateInputType = { userId?: true type?: true provider?: true providerAccountId?: true refresh_token?: true access_token?: true expires_at?: true token_type?: true scope?: true id_token?: true session_state?: true createdAt?: true updatedAt?: true } export type AccountCountAggregateInputType = { userId?: true type?: true provider?: true providerAccountId?: true refresh_token?: true access_token?: true expires_at?: true token_type?: true scope?: true id_token?: true session_state?: true createdAt?: true updatedAt?: true _all?: true } export type AccountAggregateArgs = { /** * Filter which Account to aggregate. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Accounts **/ _count?: true | AccountCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: AccountAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: AccountSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AccountMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AccountMaxAggregateInputType } export type GetAccountAggregateType = { [P in keyof T & keyof AggregateAccount]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AccountGroupByArgs = { where?: AccountWhereInput orderBy?: AccountOrderByWithAggregationInput | AccountOrderByWithAggregationInput[] by: AccountScalarFieldEnum[] | AccountScalarFieldEnum having?: AccountScalarWhereWithAggregatesInput take?: number skip?: number _count?: AccountCountAggregateInputType | true _avg?: AccountAvgAggregateInputType _sum?: AccountSumAggregateInputType _min?: AccountMinAggregateInputType _max?: AccountMaxAggregateInputType } export type AccountGroupByOutputType = { userId: string type: string provider: string providerAccountId: string refresh_token: string | null access_token: string | null expires_at: number | null token_type: string | null scope: string | null id_token: string | null session_state: string | null createdAt: Date updatedAt: Date _count: AccountCountAggregateOutputType | null _avg: AccountAvgAggregateOutputType | null _sum: AccountSumAggregateOutputType | null _min: AccountMinAggregateOutputType | null _max: AccountMaxAggregateOutputType | null } type GetAccountGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AccountGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AccountSelect = $Extensions.GetSelect<{ userId?: boolean type?: boolean provider?: boolean providerAccountId?: boolean refresh_token?: boolean access_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean id_token?: boolean session_state?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["account"]> export type AccountSelectCreateManyAndReturn = $Extensions.GetSelect<{ userId?: boolean type?: boolean provider?: boolean providerAccountId?: boolean refresh_token?: boolean access_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean id_token?: boolean session_state?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["account"]> export type AccountSelectScalar = { userId?: boolean type?: boolean provider?: boolean providerAccountId?: boolean refresh_token?: boolean access_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean id_token?: boolean session_state?: boolean createdAt?: boolean updatedAt?: boolean } export type $AccountPayload = { name: "Account" objects: {} scalars: $Extensions.GetPayloadResult<{ userId: string type: string provider: string providerAccountId: string refresh_token: string | null access_token: string | null expires_at: number | null token_type: string | null scope: string | null id_token: string | null session_state: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["account"]> composites: {} } type AccountGetPayload = $Result.GetResult type AccountCountArgs = Omit & { select?: AccountCountAggregateInputType | true } export interface AccountDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Account'], meta: { name: 'Account' } } /** * Find zero or one Account that matches the filter. * @param {AccountFindUniqueArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Account that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AccountFindUniqueOrThrowArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Account that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindFirstArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Account that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindFirstOrThrowArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Accounts that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Accounts * const accounts = await prisma.account.findMany() * * // Get first 10 Accounts * const accounts = await prisma.account.findMany({ take: 10 }) * * // Only select the `userId` * const accountWithUserIdOnly = await prisma.account.findMany({ select: { userId: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Account. * @param {AccountCreateArgs} args - Arguments to create a Account. * @example * // Create one Account * const Account = await prisma.account.create({ * data: { * // ... data to create a Account * } * }) * */ create(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Accounts. * @param {AccountCreateManyArgs} args - Arguments to create many Accounts. * @example * // Create many Accounts * const account = await prisma.account.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Accounts and returns the data saved in the database. * @param {AccountCreateManyAndReturnArgs} args - Arguments to create many Accounts. * @example * // Create many Accounts * const account = await prisma.account.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Accounts and only return the `userId` * const accountWithUserIdOnly = await prisma.account.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">> /** * Delete a Account. * @param {AccountDeleteArgs} args - Arguments to delete one Account. * @example * // Delete one Account * const Account = await prisma.account.delete({ * where: { * // ... filter to delete one Account * } * }) * */ delete(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Account. * @param {AccountUpdateArgs} args - Arguments to update one Account. * @example * // Update one Account * const account = await prisma.account.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Accounts. * @param {AccountDeleteManyArgs} args - Arguments to filter Accounts to delete. * @example * // Delete a few Accounts * const { count } = await prisma.account.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Accounts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Accounts * const account = await prisma.account.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Account. * @param {AccountUpsertArgs} args - Arguments to update or create a Account. * @example * // Update or create a Account * const account = await prisma.account.upsert({ * create: { * // ... data to create a Account * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Account we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Accounts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountCountArgs} args - Arguments to filter Accounts to count. * @example * // Count the number of Accounts * const count = await prisma.account.count({ * where: { * // ... the filter for the Accounts we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Account. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Account. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends AccountGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AccountGroupByArgs['orderBy'] } : { orderBy?: AccountGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAccountGroupByPayload : Prisma.PrismaPromise /** * Fields of the Account model */ readonly fields: AccountFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Account. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__AccountClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Account model */ interface AccountFieldRefs { readonly userId: FieldRef<"Account", 'String'> readonly type: FieldRef<"Account", 'String'> readonly provider: FieldRef<"Account", 'String'> readonly providerAccountId: FieldRef<"Account", 'String'> readonly refresh_token: FieldRef<"Account", 'String'> readonly access_token: FieldRef<"Account", 'String'> readonly expires_at: FieldRef<"Account", 'Int'> readonly token_type: FieldRef<"Account", 'String'> readonly scope: FieldRef<"Account", 'String'> readonly id_token: FieldRef<"Account", 'String'> readonly session_state: FieldRef<"Account", 'String'> readonly createdAt: FieldRef<"Account", 'DateTime'> readonly updatedAt: FieldRef<"Account", 'DateTime'> } // Custom InputTypes /** * Account findUnique */ export type AccountFindUniqueArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Filter, which Account to fetch. */ where: AccountWhereUniqueInput } /** * Account findUniqueOrThrow */ export type AccountFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Filter, which Account to fetch. */ where: AccountWhereUniqueInput } /** * Account findFirst */ export type AccountFindFirstArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Filter, which Account to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Accounts. */ distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account findFirstOrThrow */ export type AccountFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Filter, which Account to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Accounts. */ distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account findMany */ export type AccountFindManyArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Filter, which Accounts to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account create */ export type AccountCreateArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * The data needed to create a Account. */ data: XOR } /** * Account createMany */ export type AccountCreateManyArgs = { /** * The data used to create many Accounts. */ data: AccountCreateManyInput | AccountCreateManyInput[] } /** * Account createManyAndReturn */ export type AccountCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelectCreateManyAndReturn | null /** * The data used to create many Accounts. */ data: AccountCreateManyInput | AccountCreateManyInput[] } /** * Account update */ export type AccountUpdateArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * The data needed to update a Account. */ data: XOR /** * Choose, which Account to update. */ where: AccountWhereUniqueInput } /** * Account updateMany */ export type AccountUpdateManyArgs = { /** * The data used to update Accounts. */ data: XOR /** * Filter which Accounts to update */ where?: AccountWhereInput } /** * Account upsert */ export type AccountUpsertArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * The filter to search for the Account to update in case it exists. */ where: AccountWhereUniqueInput /** * In case the Account found by the `where` argument doesn't exist, create a new Account with this data. */ create: XOR /** * In case the Account was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Account delete */ export type AccountDeleteArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Filter which Account to delete. */ where: AccountWhereUniqueInput } /** * Account deleteMany */ export type AccountDeleteManyArgs = { /** * Filter which Accounts to delete */ where?: AccountWhereInput } /** * Account without action */ export type AccountDefaultArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null } /** * Model Session */ export type AggregateSession = { _count: SessionCountAggregateOutputType | null _min: SessionMinAggregateOutputType | null _max: SessionMaxAggregateOutputType | null } export type SessionMinAggregateOutputType = { sessionToken: string | null userId: string | null expires: Date | null createdAt: Date | null updatedAt: Date | null } export type SessionMaxAggregateOutputType = { sessionToken: string | null userId: string | null expires: Date | null createdAt: Date | null updatedAt: Date | null } export type SessionCountAggregateOutputType = { sessionToken: number userId: number expires: number createdAt: number updatedAt: number _all: number } export type SessionMinAggregateInputType = { sessionToken?: true userId?: true expires?: true createdAt?: true updatedAt?: true } export type SessionMaxAggregateInputType = { sessionToken?: true userId?: true expires?: true createdAt?: true updatedAt?: true } export type SessionCountAggregateInputType = { sessionToken?: true userId?: true expires?: true createdAt?: true updatedAt?: 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 = { sessionToken: string userId: string expires: Date createdAt: Date updatedAt: 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<{ sessionToken?: boolean userId?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["session"]> export type SessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ sessionToken?: boolean userId?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["session"]> export type SessionSelectScalar = { sessionToken?: boolean userId?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean } export type $SessionPayload = { name: "Session" objects: {} scalars: $Extensions.GetPayloadResult<{ sessionToken: string userId: string expires: Date createdAt: Date updatedAt: 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"> | null, null, ExtArgs> /** * 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">, never, ExtArgs> /** * 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"> | null, null, ExtArgs> /** * 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">, never, ExtArgs> /** * 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 `sessionToken` * const sessionWithSessionTokenOnly = await prisma.session.findMany({ select: { sessionToken: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * 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">, never, ExtArgs> /** * 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 `sessionToken` * const sessionWithSessionTokenOnly = await prisma.session.createManyAndReturn({ * select: { sessionToken: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a 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">, never, ExtArgs> /** * 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">, never, ExtArgs> /** * 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 /** * 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">, never, ExtArgs> /** * 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" /** * 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 sessionToken: FieldRef<"Session", 'String'> readonly userId: FieldRef<"Session", 'String'> readonly expires: FieldRef<"Session", 'DateTime'> readonly createdAt: FieldRef<"Session", 'DateTime'> readonly updatedAt: FieldRef<"Session", 'DateTime'> } // Custom InputTypes /** * Session findUnique */ export type SessionFindUniqueArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Filter, which Session to fetch. */ where: SessionWhereUniqueInput } /** * Session findUniqueOrThrow */ export type SessionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Filter, which Session to fetch. */ where: SessionWhereUniqueInput } /** * Session findFirst */ export type SessionFindFirstArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | 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 /** * 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 /** * 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 /** * 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 /** * The data used to create many Sessions. */ data: SessionCreateManyInput | SessionCreateManyInput[] } /** * Session update */ export type SessionUpdateArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | 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 } /** * Session upsert */ export type SessionUpsertArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | 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 /** * Filter which Session to delete. */ where: SessionWhereUniqueInput } /** * Session deleteMany */ export type SessionDeleteManyArgs = { /** * Filter which Sessions to delete */ where?: SessionWhereInput } /** * Session without action */ export type SessionDefaultArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null } /** * Model VerificationToken */ export type AggregateVerificationToken = { _count: VerificationTokenCountAggregateOutputType | null _min: VerificationTokenMinAggregateOutputType | null _max: VerificationTokenMaxAggregateOutputType | null } export type VerificationTokenMinAggregateOutputType = { identifier: string | null token: string | null expires: Date | null } export type VerificationTokenMaxAggregateOutputType = { identifier: string | null token: string | null expires: Date | null } export type VerificationTokenCountAggregateOutputType = { identifier: number token: number expires: number _all: number } export type VerificationTokenMinAggregateInputType = { identifier?: true token?: true expires?: true } export type VerificationTokenMaxAggregateInputType = { identifier?: true token?: true expires?: true } export type VerificationTokenCountAggregateInputType = { identifier?: true token?: true expires?: true _all?: true } export type VerificationTokenAggregateArgs = { /** * Filter which VerificationToken to aggregate. */ where?: VerificationTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VerificationTokens to fetch. */ orderBy?: VerificationTokenOrderByWithRelationInput | VerificationTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: VerificationTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VerificationTokens 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` VerificationTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned VerificationTokens **/ _count?: true | VerificationTokenCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: VerificationTokenMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: VerificationTokenMaxAggregateInputType } export type GetVerificationTokenAggregateType = { [P in keyof T & keyof AggregateVerificationToken]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type VerificationTokenGroupByArgs = { where?: VerificationTokenWhereInput orderBy?: VerificationTokenOrderByWithAggregationInput | VerificationTokenOrderByWithAggregationInput[] by: VerificationTokenScalarFieldEnum[] | VerificationTokenScalarFieldEnum having?: VerificationTokenScalarWhereWithAggregatesInput take?: number skip?: number _count?: VerificationTokenCountAggregateInputType | true _min?: VerificationTokenMinAggregateInputType _max?: VerificationTokenMaxAggregateInputType } export type VerificationTokenGroupByOutputType = { identifier: string token: string expires: Date _count: VerificationTokenCountAggregateOutputType | null _min: VerificationTokenMinAggregateOutputType | null _max: VerificationTokenMaxAggregateOutputType | null } type GetVerificationTokenGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof VerificationTokenGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type VerificationTokenSelect = $Extensions.GetSelect<{ identifier?: boolean token?: boolean expires?: boolean }, ExtArgs["result"]["verificationToken"]> export type VerificationTokenSelectCreateManyAndReturn = $Extensions.GetSelect<{ identifier?: boolean token?: boolean expires?: boolean }, ExtArgs["result"]["verificationToken"]> export type VerificationTokenSelectScalar = { identifier?: boolean token?: boolean expires?: boolean } export type $VerificationTokenPayload = { name: "VerificationToken" objects: {} scalars: $Extensions.GetPayloadResult<{ identifier: string token: string expires: Date }, ExtArgs["result"]["verificationToken"]> composites: {} } type VerificationTokenGetPayload = $Result.GetResult type VerificationTokenCountArgs = Omit & { select?: VerificationTokenCountAggregateInputType | true } export interface VerificationTokenDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['VerificationToken'], meta: { name: 'VerificationToken' } } /** * Find zero or one VerificationToken that matches the filter. * @param {VerificationTokenFindUniqueArgs} args - Arguments to find a VerificationToken * @example * // Get one VerificationToken * const verificationToken = await prisma.verificationToken.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one VerificationToken that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {VerificationTokenFindUniqueOrThrowArgs} args - Arguments to find a VerificationToken * @example * // Get one VerificationToken * const verificationToken = await prisma.verificationToken.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first VerificationToken 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 {VerificationTokenFindFirstArgs} args - Arguments to find a VerificationToken * @example * // Get one VerificationToken * const verificationToken = await prisma.verificationToken.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first VerificationToken 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 {VerificationTokenFindFirstOrThrowArgs} args - Arguments to find a VerificationToken * @example * // Get one VerificationToken * const verificationToken = await prisma.verificationToken.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more VerificationTokens 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 {VerificationTokenFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all VerificationTokens * const verificationTokens = await prisma.verificationToken.findMany() * * // Get first 10 VerificationTokens * const verificationTokens = await prisma.verificationToken.findMany({ take: 10 }) * * // Only select the `identifier` * const verificationTokenWithIdentifierOnly = await prisma.verificationToken.findMany({ select: { identifier: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a VerificationToken. * @param {VerificationTokenCreateArgs} args - Arguments to create a VerificationToken. * @example * // Create one VerificationToken * const VerificationToken = await prisma.verificationToken.create({ * data: { * // ... data to create a VerificationToken * } * }) * */ create(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many VerificationTokens. * @param {VerificationTokenCreateManyArgs} args - Arguments to create many VerificationTokens. * @example * // Create many VerificationTokens * const verificationToken = await prisma.verificationToken.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many VerificationTokens and returns the data saved in the database. * @param {VerificationTokenCreateManyAndReturnArgs} args - Arguments to create many VerificationTokens. * @example * // Create many VerificationTokens * const verificationToken = await prisma.verificationToken.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many VerificationTokens and only return the `identifier` * const verificationTokenWithIdentifierOnly = await prisma.verificationToken.createManyAndReturn({ * select: { identifier: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a VerificationToken. * @param {VerificationTokenDeleteArgs} args - Arguments to delete one VerificationToken. * @example * // Delete one VerificationToken * const VerificationToken = await prisma.verificationToken.delete({ * where: { * // ... filter to delete one VerificationToken * } * }) * */ delete(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one VerificationToken. * @param {VerificationTokenUpdateArgs} args - Arguments to update one VerificationToken. * @example * // Update one VerificationToken * const verificationToken = await prisma.verificationToken.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more VerificationTokens. * @param {VerificationTokenDeleteManyArgs} args - Arguments to filter VerificationTokens to delete. * @example * // Delete a few VerificationTokens * const { count } = await prisma.verificationToken.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more VerificationTokens. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VerificationTokenUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many VerificationTokens * const verificationToken = await prisma.verificationToken.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one VerificationToken. * @param {VerificationTokenUpsertArgs} args - Arguments to update or create a VerificationToken. * @example * // Update or create a VerificationToken * const verificationToken = await prisma.verificationToken.upsert({ * create: { * // ... data to create a VerificationToken * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the VerificationToken we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of VerificationTokens. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VerificationTokenCountArgs} args - Arguments to filter VerificationTokens to count. * @example * // Count the number of VerificationTokens * const count = await prisma.verificationToken.count({ * where: { * // ... the filter for the VerificationTokens 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 VerificationToken. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VerificationTokenAggregateArgs} 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 VerificationToken. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VerificationTokenGroupByArgs} 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 VerificationTokenGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: VerificationTokenGroupByArgs['orderBy'] } : { orderBy?: VerificationTokenGroupByArgs['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 ? GetVerificationTokenGroupByPayload : Prisma.PrismaPromise /** * Fields of the VerificationToken model */ readonly fields: VerificationTokenFieldRefs; } /** * The delegate class that acts as a "Promise-like" for VerificationToken. * 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__VerificationTokenClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the VerificationToken model */ interface VerificationTokenFieldRefs { readonly identifier: FieldRef<"VerificationToken", 'String'> readonly token: FieldRef<"VerificationToken", 'String'> readonly expires: FieldRef<"VerificationToken", 'DateTime'> } // Custom InputTypes /** * VerificationToken findUnique */ export type VerificationTokenFindUniqueArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Filter, which VerificationToken to fetch. */ where: VerificationTokenWhereUniqueInput } /** * VerificationToken findUniqueOrThrow */ export type VerificationTokenFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Filter, which VerificationToken to fetch. */ where: VerificationTokenWhereUniqueInput } /** * VerificationToken findFirst */ export type VerificationTokenFindFirstArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Filter, which VerificationToken to fetch. */ where?: VerificationTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VerificationTokens to fetch. */ orderBy?: VerificationTokenOrderByWithRelationInput | VerificationTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VerificationTokens. */ cursor?: VerificationTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VerificationTokens 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` VerificationTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VerificationTokens. */ distinct?: VerificationTokenScalarFieldEnum | VerificationTokenScalarFieldEnum[] } /** * VerificationToken findFirstOrThrow */ export type VerificationTokenFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Filter, which VerificationToken to fetch. */ where?: VerificationTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VerificationTokens to fetch. */ orderBy?: VerificationTokenOrderByWithRelationInput | VerificationTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VerificationTokens. */ cursor?: VerificationTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VerificationTokens 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` VerificationTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VerificationTokens. */ distinct?: VerificationTokenScalarFieldEnum | VerificationTokenScalarFieldEnum[] } /** * VerificationToken findMany */ export type VerificationTokenFindManyArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Filter, which VerificationTokens to fetch. */ where?: VerificationTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VerificationTokens to fetch. */ orderBy?: VerificationTokenOrderByWithRelationInput | VerificationTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing VerificationTokens. */ cursor?: VerificationTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VerificationTokens 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` VerificationTokens. */ skip?: number distinct?: VerificationTokenScalarFieldEnum | VerificationTokenScalarFieldEnum[] } /** * VerificationToken create */ export type VerificationTokenCreateArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * The data needed to create a VerificationToken. */ data: XOR } /** * VerificationToken createMany */ export type VerificationTokenCreateManyArgs = { /** * The data used to create many VerificationTokens. */ data: VerificationTokenCreateManyInput | VerificationTokenCreateManyInput[] } /** * VerificationToken createManyAndReturn */ export type VerificationTokenCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelectCreateManyAndReturn | null /** * The data used to create many VerificationTokens. */ data: VerificationTokenCreateManyInput | VerificationTokenCreateManyInput[] } /** * VerificationToken update */ export type VerificationTokenUpdateArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * The data needed to update a VerificationToken. */ data: XOR /** * Choose, which VerificationToken to update. */ where: VerificationTokenWhereUniqueInput } /** * VerificationToken updateMany */ export type VerificationTokenUpdateManyArgs = { /** * The data used to update VerificationTokens. */ data: XOR /** * Filter which VerificationTokens to update */ where?: VerificationTokenWhereInput } /** * VerificationToken upsert */ export type VerificationTokenUpsertArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * The filter to search for the VerificationToken to update in case it exists. */ where: VerificationTokenWhereUniqueInput /** * In case the VerificationToken found by the `where` argument doesn't exist, create a new VerificationToken with this data. */ create: XOR /** * In case the VerificationToken was found with the provided `where` argument, update it with this data. */ update: XOR } /** * VerificationToken delete */ export type VerificationTokenDeleteArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Filter which VerificationToken to delete. */ where: VerificationTokenWhereUniqueInput } /** * VerificationToken deleteMany */ export type VerificationTokenDeleteManyArgs = { /** * Filter which VerificationTokens to delete */ where?: VerificationTokenWhereInput } /** * VerificationToken without action */ export type VerificationTokenDefaultArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null } /** * Model NoteShare */ export type AggregateNoteShare = { _count: NoteShareCountAggregateOutputType | null _min: NoteShareMinAggregateOutputType | null _max: NoteShareMaxAggregateOutputType | null } export type NoteShareMinAggregateOutputType = { id: string | null noteId: string | null userId: string | null sharedBy: string | null status: string | null permission: string | null notifiedAt: Date | null respondedAt: Date | null createdAt: Date | null updatedAt: Date | null } export type NoteShareMaxAggregateOutputType = { id: string | null noteId: string | null userId: string | null sharedBy: string | null status: string | null permission: string | null notifiedAt: Date | null respondedAt: Date | null createdAt: Date | null updatedAt: Date | null } export type NoteShareCountAggregateOutputType = { id: number noteId: number userId: number sharedBy: number status: number permission: number notifiedAt: number respondedAt: number createdAt: number updatedAt: number _all: number } export type NoteShareMinAggregateInputType = { id?: true noteId?: true userId?: true sharedBy?: true status?: true permission?: true notifiedAt?: true respondedAt?: true createdAt?: true updatedAt?: true } export type NoteShareMaxAggregateInputType = { id?: true noteId?: true userId?: true sharedBy?: true status?: true permission?: true notifiedAt?: true respondedAt?: true createdAt?: true updatedAt?: true } export type NoteShareCountAggregateInputType = { id?: true noteId?: true userId?: true sharedBy?: true status?: true permission?: true notifiedAt?: true respondedAt?: true createdAt?: true updatedAt?: true _all?: true } export type NoteShareAggregateArgs = { /** * Filter which NoteShare to aggregate. */ where?: NoteShareWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NoteShares to fetch. */ orderBy?: NoteShareOrderByWithRelationInput | NoteShareOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: NoteShareWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NoteShares 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` NoteShares. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned NoteShares **/ _count?: true | NoteShareCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: NoteShareMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: NoteShareMaxAggregateInputType } export type GetNoteShareAggregateType = { [P in keyof T & keyof AggregateNoteShare]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type NoteShareGroupByArgs = { where?: NoteShareWhereInput orderBy?: NoteShareOrderByWithAggregationInput | NoteShareOrderByWithAggregationInput[] by: NoteShareScalarFieldEnum[] | NoteShareScalarFieldEnum having?: NoteShareScalarWhereWithAggregatesInput take?: number skip?: number _count?: NoteShareCountAggregateInputType | true _min?: NoteShareMinAggregateInputType _max?: NoteShareMaxAggregateInputType } export type NoteShareGroupByOutputType = { id: string noteId: string userId: string sharedBy: string status: string permission: string notifiedAt: Date | null respondedAt: Date | null createdAt: Date updatedAt: Date _count: NoteShareCountAggregateOutputType | null _min: NoteShareMinAggregateOutputType | null _max: NoteShareMaxAggregateOutputType | null } type GetNoteShareGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof NoteShareGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type NoteShareSelect = $Extensions.GetSelect<{ id?: boolean noteId?: boolean userId?: boolean sharedBy?: boolean status?: boolean permission?: boolean notifiedAt?: boolean respondedAt?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["noteShare"]> export type NoteShareSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean noteId?: boolean userId?: boolean sharedBy?: boolean status?: boolean permission?: boolean notifiedAt?: boolean respondedAt?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["noteShare"]> export type NoteShareSelectScalar = { id?: boolean noteId?: boolean userId?: boolean sharedBy?: boolean status?: boolean permission?: boolean notifiedAt?: boolean respondedAt?: boolean createdAt?: boolean updatedAt?: boolean } export type $NoteSharePayload = { name: "NoteShare" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string noteId: string userId: string sharedBy: string status: string permission: string notifiedAt: Date | null respondedAt: Date | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["noteShare"]> composites: {} } type NoteShareGetPayload = $Result.GetResult type NoteShareCountArgs = Omit & { select?: NoteShareCountAggregateInputType | true } export interface NoteShareDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['NoteShare'], meta: { name: 'NoteShare' } } /** * Find zero or one NoteShare that matches the filter. * @param {NoteShareFindUniqueArgs} args - Arguments to find a NoteShare * @example * // Get one NoteShare * const noteShare = await prisma.noteShare.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__NoteShareClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one NoteShare that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {NoteShareFindUniqueOrThrowArgs} args - Arguments to find a NoteShare * @example * // Get one NoteShare * const noteShare = await prisma.noteShare.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__NoteShareClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first NoteShare 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 {NoteShareFindFirstArgs} args - Arguments to find a NoteShare * @example * // Get one NoteShare * const noteShare = await prisma.noteShare.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__NoteShareClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first NoteShare 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 {NoteShareFindFirstOrThrowArgs} args - Arguments to find a NoteShare * @example * // Get one NoteShare * const noteShare = await prisma.noteShare.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__NoteShareClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more NoteShares 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 {NoteShareFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all NoteShares * const noteShares = await prisma.noteShare.findMany() * * // Get first 10 NoteShares * const noteShares = await prisma.noteShare.findMany({ take: 10 }) * * // Only select the `id` * const noteShareWithIdOnly = await prisma.noteShare.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a NoteShare. * @param {NoteShareCreateArgs} args - Arguments to create a NoteShare. * @example * // Create one NoteShare * const NoteShare = await prisma.noteShare.create({ * data: { * // ... data to create a NoteShare * } * }) * */ create(args: SelectSubset>): Prisma__NoteShareClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many NoteShares. * @param {NoteShareCreateManyArgs} args - Arguments to create many NoteShares. * @example * // Create many NoteShares * const noteShare = await prisma.noteShare.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many NoteShares and returns the data saved in the database. * @param {NoteShareCreateManyAndReturnArgs} args - Arguments to create many NoteShares. * @example * // Create many NoteShares * const noteShare = await prisma.noteShare.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many NoteShares and only return the `id` * const noteShareWithIdOnly = await prisma.noteShare.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a NoteShare. * @param {NoteShareDeleteArgs} args - Arguments to delete one NoteShare. * @example * // Delete one NoteShare * const NoteShare = await prisma.noteShare.delete({ * where: { * // ... filter to delete one NoteShare * } * }) * */ delete(args: SelectSubset>): Prisma__NoteShareClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one NoteShare. * @param {NoteShareUpdateArgs} args - Arguments to update one NoteShare. * @example * // Update one NoteShare * const noteShare = await prisma.noteShare.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__NoteShareClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more NoteShares. * @param {NoteShareDeleteManyArgs} args - Arguments to filter NoteShares to delete. * @example * // Delete a few NoteShares * const { count } = await prisma.noteShare.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more NoteShares. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NoteShareUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many NoteShares * const noteShare = await prisma.noteShare.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one NoteShare. * @param {NoteShareUpsertArgs} args - Arguments to update or create a NoteShare. * @example * // Update or create a NoteShare * const noteShare = await prisma.noteShare.upsert({ * create: { * // ... data to create a NoteShare * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the NoteShare we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__NoteShareClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of NoteShares. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NoteShareCountArgs} args - Arguments to filter NoteShares to count. * @example * // Count the number of NoteShares * const count = await prisma.noteShare.count({ * where: { * // ... the filter for the NoteShares 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 NoteShare. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NoteShareAggregateArgs} 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 NoteShare. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NoteShareGroupByArgs} 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 NoteShareGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: NoteShareGroupByArgs['orderBy'] } : { orderBy?: NoteShareGroupByArgs['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 ? GetNoteShareGroupByPayload : Prisma.PrismaPromise /** * Fields of the NoteShare model */ readonly fields: NoteShareFieldRefs; } /** * The delegate class that acts as a "Promise-like" for NoteShare. * 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__NoteShareClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the NoteShare model */ interface NoteShareFieldRefs { readonly id: FieldRef<"NoteShare", 'String'> readonly noteId: FieldRef<"NoteShare", 'String'> readonly userId: FieldRef<"NoteShare", 'String'> readonly sharedBy: FieldRef<"NoteShare", 'String'> readonly status: FieldRef<"NoteShare", 'String'> readonly permission: FieldRef<"NoteShare", 'String'> readonly notifiedAt: FieldRef<"NoteShare", 'DateTime'> readonly respondedAt: FieldRef<"NoteShare", 'DateTime'> readonly createdAt: FieldRef<"NoteShare", 'DateTime'> readonly updatedAt: FieldRef<"NoteShare", 'DateTime'> } // Custom InputTypes /** * NoteShare findUnique */ export type NoteShareFindUniqueArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * Filter, which NoteShare to fetch. */ where: NoteShareWhereUniqueInput } /** * NoteShare findUniqueOrThrow */ export type NoteShareFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * Filter, which NoteShare to fetch. */ where: NoteShareWhereUniqueInput } /** * NoteShare findFirst */ export type NoteShareFindFirstArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * Filter, which NoteShare to fetch. */ where?: NoteShareWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NoteShares to fetch. */ orderBy?: NoteShareOrderByWithRelationInput | NoteShareOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for NoteShares. */ cursor?: NoteShareWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NoteShares 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` NoteShares. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of NoteShares. */ distinct?: NoteShareScalarFieldEnum | NoteShareScalarFieldEnum[] } /** * NoteShare findFirstOrThrow */ export type NoteShareFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * Filter, which NoteShare to fetch. */ where?: NoteShareWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NoteShares to fetch. */ orderBy?: NoteShareOrderByWithRelationInput | NoteShareOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for NoteShares. */ cursor?: NoteShareWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NoteShares 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` NoteShares. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of NoteShares. */ distinct?: NoteShareScalarFieldEnum | NoteShareScalarFieldEnum[] } /** * NoteShare findMany */ export type NoteShareFindManyArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * Filter, which NoteShares to fetch. */ where?: NoteShareWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NoteShares to fetch. */ orderBy?: NoteShareOrderByWithRelationInput | NoteShareOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing NoteShares. */ cursor?: NoteShareWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NoteShares 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` NoteShares. */ skip?: number distinct?: NoteShareScalarFieldEnum | NoteShareScalarFieldEnum[] } /** * NoteShare create */ export type NoteShareCreateArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * The data needed to create a NoteShare. */ data: XOR } /** * NoteShare createMany */ export type NoteShareCreateManyArgs = { /** * The data used to create many NoteShares. */ data: NoteShareCreateManyInput | NoteShareCreateManyInput[] } /** * NoteShare createManyAndReturn */ export type NoteShareCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelectCreateManyAndReturn | null /** * The data used to create many NoteShares. */ data: NoteShareCreateManyInput | NoteShareCreateManyInput[] } /** * NoteShare update */ export type NoteShareUpdateArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * The data needed to update a NoteShare. */ data: XOR /** * Choose, which NoteShare to update. */ where: NoteShareWhereUniqueInput } /** * NoteShare updateMany */ export type NoteShareUpdateManyArgs = { /** * The data used to update NoteShares. */ data: XOR /** * Filter which NoteShares to update */ where?: NoteShareWhereInput } /** * NoteShare upsert */ export type NoteShareUpsertArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * The filter to search for the NoteShare to update in case it exists. */ where: NoteShareWhereUniqueInput /** * In case the NoteShare found by the `where` argument doesn't exist, create a new NoteShare with this data. */ create: XOR /** * In case the NoteShare was found with the provided `where` argument, update it with this data. */ update: XOR } /** * NoteShare delete */ export type NoteShareDeleteArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null /** * Filter which NoteShare to delete. */ where: NoteShareWhereUniqueInput } /** * NoteShare deleteMany */ export type NoteShareDeleteManyArgs = { /** * Filter which NoteShares to delete */ where?: NoteShareWhereInput } /** * NoteShare without action */ export type NoteShareDefaultArgs = { /** * Select specific fields to fetch from the NoteShare */ select?: NoteShareSelect | null } /** * Model SystemConfig */ export type AggregateSystemConfig = { _count: SystemConfigCountAggregateOutputType | null _min: SystemConfigMinAggregateOutputType | null _max: SystemConfigMaxAggregateOutputType | null } export type SystemConfigMinAggregateOutputType = { key: string | null value: string | null } export type SystemConfigMaxAggregateOutputType = { key: string | null value: string | null } export type SystemConfigCountAggregateOutputType = { key: number value: number _all: number } export type SystemConfigMinAggregateInputType = { key?: true value?: true } export type SystemConfigMaxAggregateInputType = { key?: true value?: true } export type SystemConfigCountAggregateInputType = { key?: true value?: true _all?: true } export type SystemConfigAggregateArgs = { /** * Filter which SystemConfig to aggregate. */ where?: SystemConfigWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SystemConfigs to fetch. */ orderBy?: SystemConfigOrderByWithRelationInput | SystemConfigOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SystemConfigWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SystemConfigs 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` SystemConfigs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned SystemConfigs **/ _count?: true | SystemConfigCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SystemConfigMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SystemConfigMaxAggregateInputType } export type GetSystemConfigAggregateType = { [P in keyof T & keyof AggregateSystemConfig]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SystemConfigGroupByArgs = { where?: SystemConfigWhereInput orderBy?: SystemConfigOrderByWithAggregationInput | SystemConfigOrderByWithAggregationInput[] by: SystemConfigScalarFieldEnum[] | SystemConfigScalarFieldEnum having?: SystemConfigScalarWhereWithAggregatesInput take?: number skip?: number _count?: SystemConfigCountAggregateInputType | true _min?: SystemConfigMinAggregateInputType _max?: SystemConfigMaxAggregateInputType } export type SystemConfigGroupByOutputType = { key: string value: string _count: SystemConfigCountAggregateOutputType | null _min: SystemConfigMinAggregateOutputType | null _max: SystemConfigMaxAggregateOutputType | null } type GetSystemConfigGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SystemConfigGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SystemConfigSelect = $Extensions.GetSelect<{ key?: boolean value?: boolean }, ExtArgs["result"]["systemConfig"]> export type SystemConfigSelectCreateManyAndReturn = $Extensions.GetSelect<{ key?: boolean value?: boolean }, ExtArgs["result"]["systemConfig"]> export type SystemConfigSelectScalar = { key?: boolean value?: boolean } export type $SystemConfigPayload = { name: "SystemConfig" objects: {} scalars: $Extensions.GetPayloadResult<{ key: string value: string }, ExtArgs["result"]["systemConfig"]> composites: {} } type SystemConfigGetPayload = $Result.GetResult type SystemConfigCountArgs = Omit & { select?: SystemConfigCountAggregateInputType | true } export interface SystemConfigDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['SystemConfig'], meta: { name: 'SystemConfig' } } /** * Find zero or one SystemConfig that matches the filter. * @param {SystemConfigFindUniqueArgs} args - Arguments to find a SystemConfig * @example * // Get one SystemConfig * const systemConfig = await prisma.systemConfig.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SystemConfigClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one SystemConfig that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SystemConfigFindUniqueOrThrowArgs} args - Arguments to find a SystemConfig * @example * // Get one SystemConfig * const systemConfig = await prisma.systemConfig.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SystemConfigClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first SystemConfig 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 {SystemConfigFindFirstArgs} args - Arguments to find a SystemConfig * @example * // Get one SystemConfig * const systemConfig = await prisma.systemConfig.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SystemConfigClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first SystemConfig 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 {SystemConfigFindFirstOrThrowArgs} args - Arguments to find a SystemConfig * @example * // Get one SystemConfig * const systemConfig = await prisma.systemConfig.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SystemConfigClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more SystemConfigs 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 {SystemConfigFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all SystemConfigs * const systemConfigs = await prisma.systemConfig.findMany() * * // Get first 10 SystemConfigs * const systemConfigs = await prisma.systemConfig.findMany({ take: 10 }) * * // Only select the `key` * const systemConfigWithKeyOnly = await prisma.systemConfig.findMany({ select: { key: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a SystemConfig. * @param {SystemConfigCreateArgs} args - Arguments to create a SystemConfig. * @example * // Create one SystemConfig * const SystemConfig = await prisma.systemConfig.create({ * data: { * // ... data to create a SystemConfig * } * }) * */ create(args: SelectSubset>): Prisma__SystemConfigClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many SystemConfigs. * @param {SystemConfigCreateManyArgs} args - Arguments to create many SystemConfigs. * @example * // Create many SystemConfigs * const systemConfig = await prisma.systemConfig.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many SystemConfigs and returns the data saved in the database. * @param {SystemConfigCreateManyAndReturnArgs} args - Arguments to create many SystemConfigs. * @example * // Create many SystemConfigs * const systemConfig = await prisma.systemConfig.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many SystemConfigs and only return the `key` * const systemConfigWithKeyOnly = await prisma.systemConfig.createManyAndReturn({ * select: { key: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a SystemConfig. * @param {SystemConfigDeleteArgs} args - Arguments to delete one SystemConfig. * @example * // Delete one SystemConfig * const SystemConfig = await prisma.systemConfig.delete({ * where: { * // ... filter to delete one SystemConfig * } * }) * */ delete(args: SelectSubset>): Prisma__SystemConfigClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one SystemConfig. * @param {SystemConfigUpdateArgs} args - Arguments to update one SystemConfig. * @example * // Update one SystemConfig * const systemConfig = await prisma.systemConfig.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SystemConfigClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more SystemConfigs. * @param {SystemConfigDeleteManyArgs} args - Arguments to filter SystemConfigs to delete. * @example * // Delete a few SystemConfigs * const { count } = await prisma.systemConfig.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more SystemConfigs. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SystemConfigUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many SystemConfigs * const systemConfig = await prisma.systemConfig.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one SystemConfig. * @param {SystemConfigUpsertArgs} args - Arguments to update or create a SystemConfig. * @example * // Update or create a SystemConfig * const systemConfig = await prisma.systemConfig.upsert({ * create: { * // ... data to create a SystemConfig * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the SystemConfig we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SystemConfigClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of SystemConfigs. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SystemConfigCountArgs} args - Arguments to filter SystemConfigs to count. * @example * // Count the number of SystemConfigs * const count = await prisma.systemConfig.count({ * where: { * // ... the filter for the SystemConfigs 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 SystemConfig. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SystemConfigAggregateArgs} 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 SystemConfig. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SystemConfigGroupByArgs} 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 SystemConfigGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SystemConfigGroupByArgs['orderBy'] } : { orderBy?: SystemConfigGroupByArgs['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 ? GetSystemConfigGroupByPayload : Prisma.PrismaPromise /** * Fields of the SystemConfig model */ readonly fields: SystemConfigFieldRefs; } /** * The delegate class that acts as a "Promise-like" for SystemConfig. * 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__SystemConfigClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the SystemConfig model */ interface SystemConfigFieldRefs { readonly key: FieldRef<"SystemConfig", 'String'> readonly value: FieldRef<"SystemConfig", 'String'> } // Custom InputTypes /** * SystemConfig findUnique */ export type SystemConfigFindUniqueArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * Filter, which SystemConfig to fetch. */ where: SystemConfigWhereUniqueInput } /** * SystemConfig findUniqueOrThrow */ export type SystemConfigFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * Filter, which SystemConfig to fetch. */ where: SystemConfigWhereUniqueInput } /** * SystemConfig findFirst */ export type SystemConfigFindFirstArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * Filter, which SystemConfig to fetch. */ where?: SystemConfigWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SystemConfigs to fetch. */ orderBy?: SystemConfigOrderByWithRelationInput | SystemConfigOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SystemConfigs. */ cursor?: SystemConfigWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SystemConfigs 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` SystemConfigs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SystemConfigs. */ distinct?: SystemConfigScalarFieldEnum | SystemConfigScalarFieldEnum[] } /** * SystemConfig findFirstOrThrow */ export type SystemConfigFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * Filter, which SystemConfig to fetch. */ where?: SystemConfigWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SystemConfigs to fetch. */ orderBy?: SystemConfigOrderByWithRelationInput | SystemConfigOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SystemConfigs. */ cursor?: SystemConfigWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SystemConfigs 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` SystemConfigs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SystemConfigs. */ distinct?: SystemConfigScalarFieldEnum | SystemConfigScalarFieldEnum[] } /** * SystemConfig findMany */ export type SystemConfigFindManyArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * Filter, which SystemConfigs to fetch. */ where?: SystemConfigWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SystemConfigs to fetch. */ orderBy?: SystemConfigOrderByWithRelationInput | SystemConfigOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing SystemConfigs. */ cursor?: SystemConfigWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SystemConfigs 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` SystemConfigs. */ skip?: number distinct?: SystemConfigScalarFieldEnum | SystemConfigScalarFieldEnum[] } /** * SystemConfig create */ export type SystemConfigCreateArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * The data needed to create a SystemConfig. */ data: XOR } /** * SystemConfig createMany */ export type SystemConfigCreateManyArgs = { /** * The data used to create many SystemConfigs. */ data: SystemConfigCreateManyInput | SystemConfigCreateManyInput[] } /** * SystemConfig createManyAndReturn */ export type SystemConfigCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelectCreateManyAndReturn | null /** * The data used to create many SystemConfigs. */ data: SystemConfigCreateManyInput | SystemConfigCreateManyInput[] } /** * SystemConfig update */ export type SystemConfigUpdateArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * The data needed to update a SystemConfig. */ data: XOR /** * Choose, which SystemConfig to update. */ where: SystemConfigWhereUniqueInput } /** * SystemConfig updateMany */ export type SystemConfigUpdateManyArgs = { /** * The data used to update SystemConfigs. */ data: XOR /** * Filter which SystemConfigs to update */ where?: SystemConfigWhereInput } /** * SystemConfig upsert */ export type SystemConfigUpsertArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * The filter to search for the SystemConfig to update in case it exists. */ where: SystemConfigWhereUniqueInput /** * In case the SystemConfig found by the `where` argument doesn't exist, create a new SystemConfig with this data. */ create: XOR /** * In case the SystemConfig was found with the provided `where` argument, update it with this data. */ update: XOR } /** * SystemConfig delete */ export type SystemConfigDeleteArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null /** * Filter which SystemConfig to delete. */ where: SystemConfigWhereUniqueInput } /** * SystemConfig deleteMany */ export type SystemConfigDeleteManyArgs = { /** * Filter which SystemConfigs to delete */ where?: SystemConfigWhereInput } /** * SystemConfig without action */ export type SystemConfigDefaultArgs = { /** * Select specific fields to fetch from the SystemConfig */ select?: SystemConfigSelect | null } /** * Model AiFeedback */ export type AggregateAiFeedback = { _count: AiFeedbackCountAggregateOutputType | null _min: AiFeedbackMinAggregateOutputType | null _max: AiFeedbackMaxAggregateOutputType | null } export type AiFeedbackMinAggregateOutputType = { id: string | null noteId: string | null userId: string | null feedbackType: string | null feature: string | null originalContent: string | null correctedContent: string | null metadata: string | null createdAt: Date | null } export type AiFeedbackMaxAggregateOutputType = { id: string | null noteId: string | null userId: string | null feedbackType: string | null feature: string | null originalContent: string | null correctedContent: string | null metadata: string | null createdAt: Date | null } export type AiFeedbackCountAggregateOutputType = { id: number noteId: number userId: number feedbackType: number feature: number originalContent: number correctedContent: number metadata: number createdAt: number _all: number } export type AiFeedbackMinAggregateInputType = { id?: true noteId?: true userId?: true feedbackType?: true feature?: true originalContent?: true correctedContent?: true metadata?: true createdAt?: true } export type AiFeedbackMaxAggregateInputType = { id?: true noteId?: true userId?: true feedbackType?: true feature?: true originalContent?: true correctedContent?: true metadata?: true createdAt?: true } export type AiFeedbackCountAggregateInputType = { id?: true noteId?: true userId?: true feedbackType?: true feature?: true originalContent?: true correctedContent?: true metadata?: true createdAt?: true _all?: true } export type AiFeedbackAggregateArgs = { /** * Filter which AiFeedback to aggregate. */ where?: AiFeedbackWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AiFeedbacks to fetch. */ orderBy?: AiFeedbackOrderByWithRelationInput | AiFeedbackOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AiFeedbackWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AiFeedbacks 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` AiFeedbacks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned AiFeedbacks **/ _count?: true | AiFeedbackCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AiFeedbackMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AiFeedbackMaxAggregateInputType } export type GetAiFeedbackAggregateType = { [P in keyof T & keyof AggregateAiFeedback]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AiFeedbackGroupByArgs = { where?: AiFeedbackWhereInput orderBy?: AiFeedbackOrderByWithAggregationInput | AiFeedbackOrderByWithAggregationInput[] by: AiFeedbackScalarFieldEnum[] | AiFeedbackScalarFieldEnum having?: AiFeedbackScalarWhereWithAggregatesInput take?: number skip?: number _count?: AiFeedbackCountAggregateInputType | true _min?: AiFeedbackMinAggregateInputType _max?: AiFeedbackMaxAggregateInputType } export type AiFeedbackGroupByOutputType = { id: string noteId: string userId: string | null feedbackType: string feature: string originalContent: string correctedContent: string | null metadata: string | null createdAt: Date _count: AiFeedbackCountAggregateOutputType | null _min: AiFeedbackMinAggregateOutputType | null _max: AiFeedbackMaxAggregateOutputType | null } type GetAiFeedbackGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AiFeedbackGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AiFeedbackSelect = $Extensions.GetSelect<{ id?: boolean noteId?: boolean userId?: boolean feedbackType?: boolean feature?: boolean originalContent?: boolean correctedContent?: boolean metadata?: boolean createdAt?: boolean }, ExtArgs["result"]["aiFeedback"]> export type AiFeedbackSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean noteId?: boolean userId?: boolean feedbackType?: boolean feature?: boolean originalContent?: boolean correctedContent?: boolean metadata?: boolean createdAt?: boolean }, ExtArgs["result"]["aiFeedback"]> export type AiFeedbackSelectScalar = { id?: boolean noteId?: boolean userId?: boolean feedbackType?: boolean feature?: boolean originalContent?: boolean correctedContent?: boolean metadata?: boolean createdAt?: boolean } export type $AiFeedbackPayload = { name: "AiFeedback" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string noteId: string userId: string | null feedbackType: string feature: string originalContent: string correctedContent: string | null metadata: string | null createdAt: Date }, ExtArgs["result"]["aiFeedback"]> composites: {} } type AiFeedbackGetPayload = $Result.GetResult type AiFeedbackCountArgs = Omit & { select?: AiFeedbackCountAggregateInputType | true } export interface AiFeedbackDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['AiFeedback'], meta: { name: 'AiFeedback' } } /** * Find zero or one AiFeedback that matches the filter. * @param {AiFeedbackFindUniqueArgs} args - Arguments to find a AiFeedback * @example * // Get one AiFeedback * const aiFeedback = await prisma.aiFeedback.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AiFeedbackClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one AiFeedback that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AiFeedbackFindUniqueOrThrowArgs} args - Arguments to find a AiFeedback * @example * // Get one AiFeedback * const aiFeedback = await prisma.aiFeedback.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AiFeedbackClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first AiFeedback 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 {AiFeedbackFindFirstArgs} args - Arguments to find a AiFeedback * @example * // Get one AiFeedback * const aiFeedback = await prisma.aiFeedback.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AiFeedbackClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first AiFeedback 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 {AiFeedbackFindFirstOrThrowArgs} args - Arguments to find a AiFeedback * @example * // Get one AiFeedback * const aiFeedback = await prisma.aiFeedback.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AiFeedbackClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more AiFeedbacks 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 {AiFeedbackFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all AiFeedbacks * const aiFeedbacks = await prisma.aiFeedback.findMany() * * // Get first 10 AiFeedbacks * const aiFeedbacks = await prisma.aiFeedback.findMany({ take: 10 }) * * // Only select the `id` * const aiFeedbackWithIdOnly = await prisma.aiFeedback.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a AiFeedback. * @param {AiFeedbackCreateArgs} args - Arguments to create a AiFeedback. * @example * // Create one AiFeedback * const AiFeedback = await prisma.aiFeedback.create({ * data: { * // ... data to create a AiFeedback * } * }) * */ create(args: SelectSubset>): Prisma__AiFeedbackClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many AiFeedbacks. * @param {AiFeedbackCreateManyArgs} args - Arguments to create many AiFeedbacks. * @example * // Create many AiFeedbacks * const aiFeedback = await prisma.aiFeedback.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many AiFeedbacks and returns the data saved in the database. * @param {AiFeedbackCreateManyAndReturnArgs} args - Arguments to create many AiFeedbacks. * @example * // Create many AiFeedbacks * const aiFeedback = await prisma.aiFeedback.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many AiFeedbacks and only return the `id` * const aiFeedbackWithIdOnly = await prisma.aiFeedback.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a AiFeedback. * @param {AiFeedbackDeleteArgs} args - Arguments to delete one AiFeedback. * @example * // Delete one AiFeedback * const AiFeedback = await prisma.aiFeedback.delete({ * where: { * // ... filter to delete one AiFeedback * } * }) * */ delete(args: SelectSubset>): Prisma__AiFeedbackClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one AiFeedback. * @param {AiFeedbackUpdateArgs} args - Arguments to update one AiFeedback. * @example * // Update one AiFeedback * const aiFeedback = await prisma.aiFeedback.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AiFeedbackClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more AiFeedbacks. * @param {AiFeedbackDeleteManyArgs} args - Arguments to filter AiFeedbacks to delete. * @example * // Delete a few AiFeedbacks * const { count } = await prisma.aiFeedback.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more AiFeedbacks. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AiFeedbackUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many AiFeedbacks * const aiFeedback = await prisma.aiFeedback.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one AiFeedback. * @param {AiFeedbackUpsertArgs} args - Arguments to update or create a AiFeedback. * @example * // Update or create a AiFeedback * const aiFeedback = await prisma.aiFeedback.upsert({ * create: { * // ... data to create a AiFeedback * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the AiFeedback we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AiFeedbackClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of AiFeedbacks. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AiFeedbackCountArgs} args - Arguments to filter AiFeedbacks to count. * @example * // Count the number of AiFeedbacks * const count = await prisma.aiFeedback.count({ * where: { * // ... the filter for the AiFeedbacks 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 AiFeedback. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AiFeedbackAggregateArgs} 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 AiFeedback. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AiFeedbackGroupByArgs} 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 AiFeedbackGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AiFeedbackGroupByArgs['orderBy'] } : { orderBy?: AiFeedbackGroupByArgs['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 ? GetAiFeedbackGroupByPayload : Prisma.PrismaPromise /** * Fields of the AiFeedback model */ readonly fields: AiFeedbackFieldRefs; } /** * The delegate class that acts as a "Promise-like" for AiFeedback. * 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__AiFeedbackClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the AiFeedback model */ interface AiFeedbackFieldRefs { readonly id: FieldRef<"AiFeedback", 'String'> readonly noteId: FieldRef<"AiFeedback", 'String'> readonly userId: FieldRef<"AiFeedback", 'String'> readonly feedbackType: FieldRef<"AiFeedback", 'String'> readonly feature: FieldRef<"AiFeedback", 'String'> readonly originalContent: FieldRef<"AiFeedback", 'String'> readonly correctedContent: FieldRef<"AiFeedback", 'String'> readonly metadata: FieldRef<"AiFeedback", 'String'> readonly createdAt: FieldRef<"AiFeedback", 'DateTime'> } // Custom InputTypes /** * AiFeedback findUnique */ export type AiFeedbackFindUniqueArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * Filter, which AiFeedback to fetch. */ where: AiFeedbackWhereUniqueInput } /** * AiFeedback findUniqueOrThrow */ export type AiFeedbackFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * Filter, which AiFeedback to fetch. */ where: AiFeedbackWhereUniqueInput } /** * AiFeedback findFirst */ export type AiFeedbackFindFirstArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * Filter, which AiFeedback to fetch. */ where?: AiFeedbackWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AiFeedbacks to fetch. */ orderBy?: AiFeedbackOrderByWithRelationInput | AiFeedbackOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AiFeedbacks. */ cursor?: AiFeedbackWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AiFeedbacks 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` AiFeedbacks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AiFeedbacks. */ distinct?: AiFeedbackScalarFieldEnum | AiFeedbackScalarFieldEnum[] } /** * AiFeedback findFirstOrThrow */ export type AiFeedbackFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * Filter, which AiFeedback to fetch. */ where?: AiFeedbackWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AiFeedbacks to fetch. */ orderBy?: AiFeedbackOrderByWithRelationInput | AiFeedbackOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AiFeedbacks. */ cursor?: AiFeedbackWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AiFeedbacks 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` AiFeedbacks. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AiFeedbacks. */ distinct?: AiFeedbackScalarFieldEnum | AiFeedbackScalarFieldEnum[] } /** * AiFeedback findMany */ export type AiFeedbackFindManyArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * Filter, which AiFeedbacks to fetch. */ where?: AiFeedbackWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AiFeedbacks to fetch. */ orderBy?: AiFeedbackOrderByWithRelationInput | AiFeedbackOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing AiFeedbacks. */ cursor?: AiFeedbackWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AiFeedbacks 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` AiFeedbacks. */ skip?: number distinct?: AiFeedbackScalarFieldEnum | AiFeedbackScalarFieldEnum[] } /** * AiFeedback create */ export type AiFeedbackCreateArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * The data needed to create a AiFeedback. */ data: XOR } /** * AiFeedback createMany */ export type AiFeedbackCreateManyArgs = { /** * The data used to create many AiFeedbacks. */ data: AiFeedbackCreateManyInput | AiFeedbackCreateManyInput[] } /** * AiFeedback createManyAndReturn */ export type AiFeedbackCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelectCreateManyAndReturn | null /** * The data used to create many AiFeedbacks. */ data: AiFeedbackCreateManyInput | AiFeedbackCreateManyInput[] } /** * AiFeedback update */ export type AiFeedbackUpdateArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * The data needed to update a AiFeedback. */ data: XOR /** * Choose, which AiFeedback to update. */ where: AiFeedbackWhereUniqueInput } /** * AiFeedback updateMany */ export type AiFeedbackUpdateManyArgs = { /** * The data used to update AiFeedbacks. */ data: XOR /** * Filter which AiFeedbacks to update */ where?: AiFeedbackWhereInput } /** * AiFeedback upsert */ export type AiFeedbackUpsertArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * The filter to search for the AiFeedback to update in case it exists. */ where: AiFeedbackWhereUniqueInput /** * In case the AiFeedback found by the `where` argument doesn't exist, create a new AiFeedback with this data. */ create: XOR /** * In case the AiFeedback was found with the provided `where` argument, update it with this data. */ update: XOR } /** * AiFeedback delete */ export type AiFeedbackDeleteArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null /** * Filter which AiFeedback to delete. */ where: AiFeedbackWhereUniqueInput } /** * AiFeedback deleteMany */ export type AiFeedbackDeleteManyArgs = { /** * Filter which AiFeedbacks to delete */ where?: AiFeedbackWhereInput } /** * AiFeedback without action */ export type AiFeedbackDefaultArgs = { /** * Select specific fields to fetch from the AiFeedback */ select?: AiFeedbackSelect | null } /** * Model MemoryEchoInsight */ export type AggregateMemoryEchoInsight = { _count: MemoryEchoInsightCountAggregateOutputType | null _avg: MemoryEchoInsightAvgAggregateOutputType | null _sum: MemoryEchoInsightSumAggregateOutputType | null _min: MemoryEchoInsightMinAggregateOutputType | null _max: MemoryEchoInsightMaxAggregateOutputType | null } export type MemoryEchoInsightAvgAggregateOutputType = { similarityScore: number | null } export type MemoryEchoInsightSumAggregateOutputType = { similarityScore: number | null } export type MemoryEchoInsightMinAggregateOutputType = { id: string | null userId: string | null note1Id: string | null note2Id: string | null similarityScore: number | null insight: string | null insightDate: Date | null viewed: boolean | null feedback: string | null dismissed: boolean | null } export type MemoryEchoInsightMaxAggregateOutputType = { id: string | null userId: string | null note1Id: string | null note2Id: string | null similarityScore: number | null insight: string | null insightDate: Date | null viewed: boolean | null feedback: string | null dismissed: boolean | null } export type MemoryEchoInsightCountAggregateOutputType = { id: number userId: number note1Id: number note2Id: number similarityScore: number insight: number insightDate: number viewed: number feedback: number dismissed: number _all: number } export type MemoryEchoInsightAvgAggregateInputType = { similarityScore?: true } export type MemoryEchoInsightSumAggregateInputType = { similarityScore?: true } export type MemoryEchoInsightMinAggregateInputType = { id?: true userId?: true note1Id?: true note2Id?: true similarityScore?: true insight?: true insightDate?: true viewed?: true feedback?: true dismissed?: true } export type MemoryEchoInsightMaxAggregateInputType = { id?: true userId?: true note1Id?: true note2Id?: true similarityScore?: true insight?: true insightDate?: true viewed?: true feedback?: true dismissed?: true } export type MemoryEchoInsightCountAggregateInputType = { id?: true userId?: true note1Id?: true note2Id?: true similarityScore?: true insight?: true insightDate?: true viewed?: true feedback?: true dismissed?: true _all?: true } export type MemoryEchoInsightAggregateArgs = { /** * Filter which MemoryEchoInsight to aggregate. */ where?: MemoryEchoInsightWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of MemoryEchoInsights to fetch. */ orderBy?: MemoryEchoInsightOrderByWithRelationInput | MemoryEchoInsightOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: MemoryEchoInsightWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` MemoryEchoInsights 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` MemoryEchoInsights. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned MemoryEchoInsights **/ _count?: true | MemoryEchoInsightCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: MemoryEchoInsightAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: MemoryEchoInsightSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: MemoryEchoInsightMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: MemoryEchoInsightMaxAggregateInputType } export type GetMemoryEchoInsightAggregateType = { [P in keyof T & keyof AggregateMemoryEchoInsight]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type MemoryEchoInsightGroupByArgs = { where?: MemoryEchoInsightWhereInput orderBy?: MemoryEchoInsightOrderByWithAggregationInput | MemoryEchoInsightOrderByWithAggregationInput[] by: MemoryEchoInsightScalarFieldEnum[] | MemoryEchoInsightScalarFieldEnum having?: MemoryEchoInsightScalarWhereWithAggregatesInput take?: number skip?: number _count?: MemoryEchoInsightCountAggregateInputType | true _avg?: MemoryEchoInsightAvgAggregateInputType _sum?: MemoryEchoInsightSumAggregateInputType _min?: MemoryEchoInsightMinAggregateInputType _max?: MemoryEchoInsightMaxAggregateInputType } export type MemoryEchoInsightGroupByOutputType = { id: string userId: string | null note1Id: string note2Id: string similarityScore: number insight: string insightDate: Date viewed: boolean feedback: string | null dismissed: boolean _count: MemoryEchoInsightCountAggregateOutputType | null _avg: MemoryEchoInsightAvgAggregateOutputType | null _sum: MemoryEchoInsightSumAggregateOutputType | null _min: MemoryEchoInsightMinAggregateOutputType | null _max: MemoryEchoInsightMaxAggregateOutputType | null } type GetMemoryEchoInsightGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof MemoryEchoInsightGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type MemoryEchoInsightSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean note1Id?: boolean note2Id?: boolean similarityScore?: boolean insight?: boolean insightDate?: boolean viewed?: boolean feedback?: boolean dismissed?: boolean }, ExtArgs["result"]["memoryEchoInsight"]> export type MemoryEchoInsightSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean note1Id?: boolean note2Id?: boolean similarityScore?: boolean insight?: boolean insightDate?: boolean viewed?: boolean feedback?: boolean dismissed?: boolean }, ExtArgs["result"]["memoryEchoInsight"]> export type MemoryEchoInsightSelectScalar = { id?: boolean userId?: boolean note1Id?: boolean note2Id?: boolean similarityScore?: boolean insight?: boolean insightDate?: boolean viewed?: boolean feedback?: boolean dismissed?: boolean } export type $MemoryEchoInsightPayload = { name: "MemoryEchoInsight" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string userId: string | null note1Id: string note2Id: string similarityScore: number insight: string insightDate: Date viewed: boolean feedback: string | null dismissed: boolean }, ExtArgs["result"]["memoryEchoInsight"]> composites: {} } type MemoryEchoInsightGetPayload = $Result.GetResult type MemoryEchoInsightCountArgs = Omit & { select?: MemoryEchoInsightCountAggregateInputType | true } export interface MemoryEchoInsightDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['MemoryEchoInsight'], meta: { name: 'MemoryEchoInsight' } } /** * Find zero or one MemoryEchoInsight that matches the filter. * @param {MemoryEchoInsightFindUniqueArgs} args - Arguments to find a MemoryEchoInsight * @example * // Get one MemoryEchoInsight * const memoryEchoInsight = await prisma.memoryEchoInsight.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__MemoryEchoInsightClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one MemoryEchoInsight that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {MemoryEchoInsightFindUniqueOrThrowArgs} args - Arguments to find a MemoryEchoInsight * @example * // Get one MemoryEchoInsight * const memoryEchoInsight = await prisma.memoryEchoInsight.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__MemoryEchoInsightClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first MemoryEchoInsight 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 {MemoryEchoInsightFindFirstArgs} args - Arguments to find a MemoryEchoInsight * @example * // Get one MemoryEchoInsight * const memoryEchoInsight = await prisma.memoryEchoInsight.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__MemoryEchoInsightClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first MemoryEchoInsight 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 {MemoryEchoInsightFindFirstOrThrowArgs} args - Arguments to find a MemoryEchoInsight * @example * // Get one MemoryEchoInsight * const memoryEchoInsight = await prisma.memoryEchoInsight.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__MemoryEchoInsightClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more MemoryEchoInsights 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 {MemoryEchoInsightFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all MemoryEchoInsights * const memoryEchoInsights = await prisma.memoryEchoInsight.findMany() * * // Get first 10 MemoryEchoInsights * const memoryEchoInsights = await prisma.memoryEchoInsight.findMany({ take: 10 }) * * // Only select the `id` * const memoryEchoInsightWithIdOnly = await prisma.memoryEchoInsight.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a MemoryEchoInsight. * @param {MemoryEchoInsightCreateArgs} args - Arguments to create a MemoryEchoInsight. * @example * // Create one MemoryEchoInsight * const MemoryEchoInsight = await prisma.memoryEchoInsight.create({ * data: { * // ... data to create a MemoryEchoInsight * } * }) * */ create(args: SelectSubset>): Prisma__MemoryEchoInsightClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many MemoryEchoInsights. * @param {MemoryEchoInsightCreateManyArgs} args - Arguments to create many MemoryEchoInsights. * @example * // Create many MemoryEchoInsights * const memoryEchoInsight = await prisma.memoryEchoInsight.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many MemoryEchoInsights and returns the data saved in the database. * @param {MemoryEchoInsightCreateManyAndReturnArgs} args - Arguments to create many MemoryEchoInsights. * @example * // Create many MemoryEchoInsights * const memoryEchoInsight = await prisma.memoryEchoInsight.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many MemoryEchoInsights and only return the `id` * const memoryEchoInsightWithIdOnly = await prisma.memoryEchoInsight.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a MemoryEchoInsight. * @param {MemoryEchoInsightDeleteArgs} args - Arguments to delete one MemoryEchoInsight. * @example * // Delete one MemoryEchoInsight * const MemoryEchoInsight = await prisma.memoryEchoInsight.delete({ * where: { * // ... filter to delete one MemoryEchoInsight * } * }) * */ delete(args: SelectSubset>): Prisma__MemoryEchoInsightClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one MemoryEchoInsight. * @param {MemoryEchoInsightUpdateArgs} args - Arguments to update one MemoryEchoInsight. * @example * // Update one MemoryEchoInsight * const memoryEchoInsight = await prisma.memoryEchoInsight.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__MemoryEchoInsightClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more MemoryEchoInsights. * @param {MemoryEchoInsightDeleteManyArgs} args - Arguments to filter MemoryEchoInsights to delete. * @example * // Delete a few MemoryEchoInsights * const { count } = await prisma.memoryEchoInsight.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more MemoryEchoInsights. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {MemoryEchoInsightUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many MemoryEchoInsights * const memoryEchoInsight = await prisma.memoryEchoInsight.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one MemoryEchoInsight. * @param {MemoryEchoInsightUpsertArgs} args - Arguments to update or create a MemoryEchoInsight. * @example * // Update or create a MemoryEchoInsight * const memoryEchoInsight = await prisma.memoryEchoInsight.upsert({ * create: { * // ... data to create a MemoryEchoInsight * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the MemoryEchoInsight we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__MemoryEchoInsightClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of MemoryEchoInsights. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {MemoryEchoInsightCountArgs} args - Arguments to filter MemoryEchoInsights to count. * @example * // Count the number of MemoryEchoInsights * const count = await prisma.memoryEchoInsight.count({ * where: { * // ... the filter for the MemoryEchoInsights 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 MemoryEchoInsight. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {MemoryEchoInsightAggregateArgs} 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 MemoryEchoInsight. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {MemoryEchoInsightGroupByArgs} 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 MemoryEchoInsightGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: MemoryEchoInsightGroupByArgs['orderBy'] } : { orderBy?: MemoryEchoInsightGroupByArgs['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 ? GetMemoryEchoInsightGroupByPayload : Prisma.PrismaPromise /** * Fields of the MemoryEchoInsight model */ readonly fields: MemoryEchoInsightFieldRefs; } /** * The delegate class that acts as a "Promise-like" for MemoryEchoInsight. * 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__MemoryEchoInsightClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the MemoryEchoInsight model */ interface MemoryEchoInsightFieldRefs { readonly id: FieldRef<"MemoryEchoInsight", 'String'> readonly userId: FieldRef<"MemoryEchoInsight", 'String'> readonly note1Id: FieldRef<"MemoryEchoInsight", 'String'> readonly note2Id: FieldRef<"MemoryEchoInsight", 'String'> readonly similarityScore: FieldRef<"MemoryEchoInsight", 'Float'> readonly insight: FieldRef<"MemoryEchoInsight", 'String'> readonly insightDate: FieldRef<"MemoryEchoInsight", 'DateTime'> readonly viewed: FieldRef<"MemoryEchoInsight", 'Boolean'> readonly feedback: FieldRef<"MemoryEchoInsight", 'String'> readonly dismissed: FieldRef<"MemoryEchoInsight", 'Boolean'> } // Custom InputTypes /** * MemoryEchoInsight findUnique */ export type MemoryEchoInsightFindUniqueArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * Filter, which MemoryEchoInsight to fetch. */ where: MemoryEchoInsightWhereUniqueInput } /** * MemoryEchoInsight findUniqueOrThrow */ export type MemoryEchoInsightFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * Filter, which MemoryEchoInsight to fetch. */ where: MemoryEchoInsightWhereUniqueInput } /** * MemoryEchoInsight findFirst */ export type MemoryEchoInsightFindFirstArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * Filter, which MemoryEchoInsight to fetch. */ where?: MemoryEchoInsightWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of MemoryEchoInsights to fetch. */ orderBy?: MemoryEchoInsightOrderByWithRelationInput | MemoryEchoInsightOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for MemoryEchoInsights. */ cursor?: MemoryEchoInsightWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` MemoryEchoInsights 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` MemoryEchoInsights. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of MemoryEchoInsights. */ distinct?: MemoryEchoInsightScalarFieldEnum | MemoryEchoInsightScalarFieldEnum[] } /** * MemoryEchoInsight findFirstOrThrow */ export type MemoryEchoInsightFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * Filter, which MemoryEchoInsight to fetch. */ where?: MemoryEchoInsightWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of MemoryEchoInsights to fetch. */ orderBy?: MemoryEchoInsightOrderByWithRelationInput | MemoryEchoInsightOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for MemoryEchoInsights. */ cursor?: MemoryEchoInsightWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` MemoryEchoInsights 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` MemoryEchoInsights. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of MemoryEchoInsights. */ distinct?: MemoryEchoInsightScalarFieldEnum | MemoryEchoInsightScalarFieldEnum[] } /** * MemoryEchoInsight findMany */ export type MemoryEchoInsightFindManyArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * Filter, which MemoryEchoInsights to fetch. */ where?: MemoryEchoInsightWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of MemoryEchoInsights to fetch. */ orderBy?: MemoryEchoInsightOrderByWithRelationInput | MemoryEchoInsightOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing MemoryEchoInsights. */ cursor?: MemoryEchoInsightWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` MemoryEchoInsights 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` MemoryEchoInsights. */ skip?: number distinct?: MemoryEchoInsightScalarFieldEnum | MemoryEchoInsightScalarFieldEnum[] } /** * MemoryEchoInsight create */ export type MemoryEchoInsightCreateArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * The data needed to create a MemoryEchoInsight. */ data: XOR } /** * MemoryEchoInsight createMany */ export type MemoryEchoInsightCreateManyArgs = { /** * The data used to create many MemoryEchoInsights. */ data: MemoryEchoInsightCreateManyInput | MemoryEchoInsightCreateManyInput[] } /** * MemoryEchoInsight createManyAndReturn */ export type MemoryEchoInsightCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelectCreateManyAndReturn | null /** * The data used to create many MemoryEchoInsights. */ data: MemoryEchoInsightCreateManyInput | MemoryEchoInsightCreateManyInput[] } /** * MemoryEchoInsight update */ export type MemoryEchoInsightUpdateArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * The data needed to update a MemoryEchoInsight. */ data: XOR /** * Choose, which MemoryEchoInsight to update. */ where: MemoryEchoInsightWhereUniqueInput } /** * MemoryEchoInsight updateMany */ export type MemoryEchoInsightUpdateManyArgs = { /** * The data used to update MemoryEchoInsights. */ data: XOR /** * Filter which MemoryEchoInsights to update */ where?: MemoryEchoInsightWhereInput } /** * MemoryEchoInsight upsert */ export type MemoryEchoInsightUpsertArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * The filter to search for the MemoryEchoInsight to update in case it exists. */ where: MemoryEchoInsightWhereUniqueInput /** * In case the MemoryEchoInsight found by the `where` argument doesn't exist, create a new MemoryEchoInsight with this data. */ create: XOR /** * In case the MemoryEchoInsight was found with the provided `where` argument, update it with this data. */ update: XOR } /** * MemoryEchoInsight delete */ export type MemoryEchoInsightDeleteArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null /** * Filter which MemoryEchoInsight to delete. */ where: MemoryEchoInsightWhereUniqueInput } /** * MemoryEchoInsight deleteMany */ export type MemoryEchoInsightDeleteManyArgs = { /** * Filter which MemoryEchoInsights to delete */ where?: MemoryEchoInsightWhereInput } /** * MemoryEchoInsight without action */ export type MemoryEchoInsightDefaultArgs = { /** * Select specific fields to fetch from the MemoryEchoInsight */ select?: MemoryEchoInsightSelect | null } /** * Model UserAISettings */ export type AggregateUserAISettings = { _count: UserAISettingsCountAggregateOutputType | null _min: UserAISettingsMinAggregateOutputType | null _max: UserAISettingsMaxAggregateOutputType | null } export type UserAISettingsMinAggregateOutputType = { userId: string | null titleSuggestions: boolean | null semanticSearch: boolean | null paragraphRefactor: boolean | null memoryEcho: boolean | null memoryEchoFrequency: string | null aiProvider: string | null preferredLanguage: string | null fontSize: string | null demoMode: boolean | null showRecentNotes: boolean | null emailNotifications: boolean | null desktopNotifications: boolean | null anonymousAnalytics: boolean | null } export type UserAISettingsMaxAggregateOutputType = { userId: string | null titleSuggestions: boolean | null semanticSearch: boolean | null paragraphRefactor: boolean | null memoryEcho: boolean | null memoryEchoFrequency: string | null aiProvider: string | null preferredLanguage: string | null fontSize: string | null demoMode: boolean | null showRecentNotes: boolean | null emailNotifications: boolean | null desktopNotifications: boolean | null anonymousAnalytics: boolean | null } export type UserAISettingsCountAggregateOutputType = { userId: number titleSuggestions: number semanticSearch: number paragraphRefactor: number memoryEcho: number memoryEchoFrequency: number aiProvider: number preferredLanguage: number fontSize: number demoMode: number showRecentNotes: number emailNotifications: number desktopNotifications: number anonymousAnalytics: number _all: number } export type UserAISettingsMinAggregateInputType = { userId?: true titleSuggestions?: true semanticSearch?: true paragraphRefactor?: true memoryEcho?: true memoryEchoFrequency?: true aiProvider?: true preferredLanguage?: true fontSize?: true demoMode?: true showRecentNotes?: true emailNotifications?: true desktopNotifications?: true anonymousAnalytics?: true } export type UserAISettingsMaxAggregateInputType = { userId?: true titleSuggestions?: true semanticSearch?: true paragraphRefactor?: true memoryEcho?: true memoryEchoFrequency?: true aiProvider?: true preferredLanguage?: true fontSize?: true demoMode?: true showRecentNotes?: true emailNotifications?: true desktopNotifications?: true anonymousAnalytics?: true } export type UserAISettingsCountAggregateInputType = { userId?: true titleSuggestions?: true semanticSearch?: true paragraphRefactor?: true memoryEcho?: true memoryEchoFrequency?: true aiProvider?: true preferredLanguage?: true fontSize?: true demoMode?: true showRecentNotes?: true emailNotifications?: true desktopNotifications?: true anonymousAnalytics?: true _all?: true } export type UserAISettingsAggregateArgs = { /** * Filter which UserAISettings to aggregate. */ where?: UserAISettingsWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserAISettings to fetch. */ orderBy?: UserAISettingsOrderByWithRelationInput | UserAISettingsOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: UserAISettingsWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserAISettings 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` UserAISettings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned UserAISettings **/ _count?: true | UserAISettingsCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: UserAISettingsMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: UserAISettingsMaxAggregateInputType } export type GetUserAISettingsAggregateType = { [P in keyof T & keyof AggregateUserAISettings]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type UserAISettingsGroupByArgs = { where?: UserAISettingsWhereInput orderBy?: UserAISettingsOrderByWithAggregationInput | UserAISettingsOrderByWithAggregationInput[] by: UserAISettingsScalarFieldEnum[] | UserAISettingsScalarFieldEnum having?: UserAISettingsScalarWhereWithAggregatesInput take?: number skip?: number _count?: UserAISettingsCountAggregateInputType | true _min?: UserAISettingsMinAggregateInputType _max?: UserAISettingsMaxAggregateInputType } export type UserAISettingsGroupByOutputType = { userId: string titleSuggestions: boolean semanticSearch: boolean paragraphRefactor: boolean memoryEcho: boolean memoryEchoFrequency: string aiProvider: string preferredLanguage: string fontSize: string demoMode: boolean showRecentNotes: boolean emailNotifications: boolean desktopNotifications: boolean anonymousAnalytics: boolean _count: UserAISettingsCountAggregateOutputType | null _min: UserAISettingsMinAggregateOutputType | null _max: UserAISettingsMaxAggregateOutputType | null } type GetUserAISettingsGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof UserAISettingsGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type UserAISettingsSelect = $Extensions.GetSelect<{ userId?: boolean titleSuggestions?: boolean semanticSearch?: boolean paragraphRefactor?: boolean memoryEcho?: boolean memoryEchoFrequency?: boolean aiProvider?: boolean preferredLanguage?: boolean fontSize?: boolean demoMode?: boolean showRecentNotes?: boolean emailNotifications?: boolean desktopNotifications?: boolean anonymousAnalytics?: boolean }, ExtArgs["result"]["userAISettings"]> export type UserAISettingsSelectCreateManyAndReturn = $Extensions.GetSelect<{ userId?: boolean titleSuggestions?: boolean semanticSearch?: boolean paragraphRefactor?: boolean memoryEcho?: boolean memoryEchoFrequency?: boolean aiProvider?: boolean preferredLanguage?: boolean fontSize?: boolean demoMode?: boolean showRecentNotes?: boolean emailNotifications?: boolean desktopNotifications?: boolean anonymousAnalytics?: boolean }, ExtArgs["result"]["userAISettings"]> export type UserAISettingsSelectScalar = { userId?: boolean titleSuggestions?: boolean semanticSearch?: boolean paragraphRefactor?: boolean memoryEcho?: boolean memoryEchoFrequency?: boolean aiProvider?: boolean preferredLanguage?: boolean fontSize?: boolean demoMode?: boolean showRecentNotes?: boolean emailNotifications?: boolean desktopNotifications?: boolean anonymousAnalytics?: boolean } export type $UserAISettingsPayload = { name: "UserAISettings" objects: {} scalars: $Extensions.GetPayloadResult<{ userId: string titleSuggestions: boolean semanticSearch: boolean paragraphRefactor: boolean memoryEcho: boolean memoryEchoFrequency: string aiProvider: string preferredLanguage: string fontSize: string demoMode: boolean showRecentNotes: boolean emailNotifications: boolean desktopNotifications: boolean anonymousAnalytics: boolean }, ExtArgs["result"]["userAISettings"]> composites: {} } type UserAISettingsGetPayload = $Result.GetResult type UserAISettingsCountArgs = Omit & { select?: UserAISettingsCountAggregateInputType | true } export interface UserAISettingsDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['UserAISettings'], meta: { name: 'UserAISettings' } } /** * Find zero or one UserAISettings that matches the filter. * @param {UserAISettingsFindUniqueArgs} args - Arguments to find a UserAISettings * @example * // Get one UserAISettings * const userAISettings = await prisma.userAISettings.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UserAISettingsClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one UserAISettings that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserAISettingsFindUniqueOrThrowArgs} args - Arguments to find a UserAISettings * @example * // Get one UserAISettings * const userAISettings = await prisma.userAISettings.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserAISettingsClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first UserAISettings 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 {UserAISettingsFindFirstArgs} args - Arguments to find a UserAISettings * @example * // Get one UserAISettings * const userAISettings = await prisma.userAISettings.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserAISettingsClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first UserAISettings 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 {UserAISettingsFindFirstOrThrowArgs} args - Arguments to find a UserAISettings * @example * // Get one UserAISettings * const userAISettings = await prisma.userAISettings.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserAISettingsClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more UserAISettings 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 {UserAISettingsFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all UserAISettings * const userAISettings = await prisma.userAISettings.findMany() * * // Get first 10 UserAISettings * const userAISettings = await prisma.userAISettings.findMany({ take: 10 }) * * // Only select the `userId` * const userAISettingsWithUserIdOnly = await prisma.userAISettings.findMany({ select: { userId: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a UserAISettings. * @param {UserAISettingsCreateArgs} args - Arguments to create a UserAISettings. * @example * // Create one UserAISettings * const UserAISettings = await prisma.userAISettings.create({ * data: { * // ... data to create a UserAISettings * } * }) * */ create(args: SelectSubset>): Prisma__UserAISettingsClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many UserAISettings. * @param {UserAISettingsCreateManyArgs} args - Arguments to create many UserAISettings. * @example * // Create many UserAISettings * const userAISettings = await prisma.userAISettings.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many UserAISettings and returns the data saved in the database. * @param {UserAISettingsCreateManyAndReturnArgs} args - Arguments to create many UserAISettings. * @example * // Create many UserAISettings * const userAISettings = await prisma.userAISettings.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many UserAISettings and only return the `userId` * const userAISettingsWithUserIdOnly = await prisma.userAISettings.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">> /** * Delete a UserAISettings. * @param {UserAISettingsDeleteArgs} args - Arguments to delete one UserAISettings. * @example * // Delete one UserAISettings * const UserAISettings = await prisma.userAISettings.delete({ * where: { * // ... filter to delete one UserAISettings * } * }) * */ delete(args: SelectSubset>): Prisma__UserAISettingsClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one UserAISettings. * @param {UserAISettingsUpdateArgs} args - Arguments to update one UserAISettings. * @example * // Update one UserAISettings * const userAISettings = await prisma.userAISettings.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserAISettingsClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more UserAISettings. * @param {UserAISettingsDeleteManyArgs} args - Arguments to filter UserAISettings to delete. * @example * // Delete a few UserAISettings * const { count } = await prisma.userAISettings.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more UserAISettings. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAISettingsUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many UserAISettings * const userAISettings = await prisma.userAISettings.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one UserAISettings. * @param {UserAISettingsUpsertArgs} args - Arguments to update or create a UserAISettings. * @example * // Update or create a UserAISettings * const userAISettings = await prisma.userAISettings.upsert({ * create: { * // ... data to create a UserAISettings * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the UserAISettings we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserAISettingsClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of UserAISettings. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAISettingsCountArgs} args - Arguments to filter UserAISettings to count. * @example * // Count the number of UserAISettings * const count = await prisma.userAISettings.count({ * where: { * // ... the filter for the UserAISettings 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 UserAISettings. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAISettingsAggregateArgs} 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 UserAISettings. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAISettingsGroupByArgs} 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 UserAISettingsGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserAISettingsGroupByArgs['orderBy'] } : { orderBy?: UserAISettingsGroupByArgs['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 ? GetUserAISettingsGroupByPayload : Prisma.PrismaPromise /** * Fields of the UserAISettings model */ readonly fields: UserAISettingsFieldRefs; } /** * The delegate class that acts as a "Promise-like" for UserAISettings. * 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__UserAISettingsClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the UserAISettings model */ interface UserAISettingsFieldRefs { readonly userId: FieldRef<"UserAISettings", 'String'> readonly titleSuggestions: FieldRef<"UserAISettings", 'Boolean'> readonly semanticSearch: FieldRef<"UserAISettings", 'Boolean'> readonly paragraphRefactor: FieldRef<"UserAISettings", 'Boolean'> readonly memoryEcho: FieldRef<"UserAISettings", 'Boolean'> readonly memoryEchoFrequency: FieldRef<"UserAISettings", 'String'> readonly aiProvider: FieldRef<"UserAISettings", 'String'> readonly preferredLanguage: FieldRef<"UserAISettings", 'String'> readonly fontSize: FieldRef<"UserAISettings", 'String'> readonly demoMode: FieldRef<"UserAISettings", 'Boolean'> readonly showRecentNotes: FieldRef<"UserAISettings", 'Boolean'> readonly emailNotifications: FieldRef<"UserAISettings", 'Boolean'> readonly desktopNotifications: FieldRef<"UserAISettings", 'Boolean'> readonly anonymousAnalytics: FieldRef<"UserAISettings", 'Boolean'> } // Custom InputTypes /** * UserAISettings findUnique */ export type UserAISettingsFindUniqueArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * Filter, which UserAISettings to fetch. */ where: UserAISettingsWhereUniqueInput } /** * UserAISettings findUniqueOrThrow */ export type UserAISettingsFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * Filter, which UserAISettings to fetch. */ where: UserAISettingsWhereUniqueInput } /** * UserAISettings findFirst */ export type UserAISettingsFindFirstArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * Filter, which UserAISettings to fetch. */ where?: UserAISettingsWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserAISettings to fetch. */ orderBy?: UserAISettingsOrderByWithRelationInput | UserAISettingsOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UserAISettings. */ cursor?: UserAISettingsWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserAISettings 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` UserAISettings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UserAISettings. */ distinct?: UserAISettingsScalarFieldEnum | UserAISettingsScalarFieldEnum[] } /** * UserAISettings findFirstOrThrow */ export type UserAISettingsFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * Filter, which UserAISettings to fetch. */ where?: UserAISettingsWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserAISettings to fetch. */ orderBy?: UserAISettingsOrderByWithRelationInput | UserAISettingsOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UserAISettings. */ cursor?: UserAISettingsWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserAISettings 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` UserAISettings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UserAISettings. */ distinct?: UserAISettingsScalarFieldEnum | UserAISettingsScalarFieldEnum[] } /** * UserAISettings findMany */ export type UserAISettingsFindManyArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * Filter, which UserAISettings to fetch. */ where?: UserAISettingsWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserAISettings to fetch. */ orderBy?: UserAISettingsOrderByWithRelationInput | UserAISettingsOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing UserAISettings. */ cursor?: UserAISettingsWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserAISettings 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` UserAISettings. */ skip?: number distinct?: UserAISettingsScalarFieldEnum | UserAISettingsScalarFieldEnum[] } /** * UserAISettings create */ export type UserAISettingsCreateArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * The data needed to create a UserAISettings. */ data: XOR } /** * UserAISettings createMany */ export type UserAISettingsCreateManyArgs = { /** * The data used to create many UserAISettings. */ data: UserAISettingsCreateManyInput | UserAISettingsCreateManyInput[] } /** * UserAISettings createManyAndReturn */ export type UserAISettingsCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelectCreateManyAndReturn | null /** * The data used to create many UserAISettings. */ data: UserAISettingsCreateManyInput | UserAISettingsCreateManyInput[] } /** * UserAISettings update */ export type UserAISettingsUpdateArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * The data needed to update a UserAISettings. */ data: XOR /** * Choose, which UserAISettings to update. */ where: UserAISettingsWhereUniqueInput } /** * UserAISettings updateMany */ export type UserAISettingsUpdateManyArgs = { /** * The data used to update UserAISettings. */ data: XOR /** * Filter which UserAISettings to update */ where?: UserAISettingsWhereInput } /** * UserAISettings upsert */ export type UserAISettingsUpsertArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * The filter to search for the UserAISettings to update in case it exists. */ where: UserAISettingsWhereUniqueInput /** * In case the UserAISettings found by the `where` argument doesn't exist, create a new UserAISettings with this data. */ create: XOR /** * In case the UserAISettings was found with the provided `where` argument, update it with this data. */ update: XOR } /** * UserAISettings delete */ export type UserAISettingsDeleteArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null /** * Filter which UserAISettings to delete. */ where: UserAISettingsWhereUniqueInput } /** * UserAISettings deleteMany */ export type UserAISettingsDeleteManyArgs = { /** * Filter which UserAISettings to delete */ where?: UserAISettingsWhereInput } /** * UserAISettings without action */ export type UserAISettingsDefaultArgs = { /** * Select specific fields to fetch from the UserAISettings */ select?: UserAISettingsSelect | null } /** * Enums */ export const TransactionIsolationLevel: { Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const NoteScalarFieldEnum: { id: 'id', title: 'title', content: 'content', color: 'color', isPinned: 'isPinned', isArchived: 'isArchived', type: 'type', checkItems: 'checkItems', labels: 'labels', images: 'images', links: 'links', reminder: 'reminder', isReminderDone: 'isReminderDone', reminderRecurrence: 'reminderRecurrence', reminderLocation: 'reminderLocation', isMarkdown: 'isMarkdown', size: 'size', embedding: 'embedding', sharedWith: 'sharedWith', userId: 'userId', order: 'order', notebookId: 'notebookId', createdAt: 'createdAt', updatedAt: 'updatedAt', autoGenerated: 'autoGenerated', aiProvider: 'aiProvider', aiConfidence: 'aiConfidence', language: 'language', languageConfidence: 'languageConfidence', lastAiAnalysis: 'lastAiAnalysis' }; export type NoteScalarFieldEnum = (typeof NoteScalarFieldEnum)[keyof typeof NoteScalarFieldEnum] export const NotebookScalarFieldEnum: { id: 'id', name: 'name', icon: 'icon', color: 'color', order: 'order', userId: 'userId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type NotebookScalarFieldEnum = (typeof NotebookScalarFieldEnum)[keyof typeof NotebookScalarFieldEnum] export const LabelScalarFieldEnum: { id: 'id', name: 'name', color: 'color', notebookId: 'notebookId', userId: 'userId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type LabelScalarFieldEnum = (typeof LabelScalarFieldEnum)[keyof typeof LabelScalarFieldEnum] export const UserScalarFieldEnum: { id: 'id', name: 'name', email: 'email', emailVerified: 'emailVerified', password: 'password', role: 'role', image: 'image', theme: 'theme', resetToken: 'resetToken', resetTokenExpiry: 'resetTokenExpiry', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] export const AccountScalarFieldEnum: { userId: 'userId', type: 'type', provider: 'provider', providerAccountId: 'providerAccountId', refresh_token: 'refresh_token', access_token: 'access_token', expires_at: 'expires_at', token_type: 'token_type', scope: 'scope', id_token: 'id_token', session_state: 'session_state', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] export const SessionScalarFieldEnum: { sessionToken: 'sessionToken', userId: 'userId', expires: 'expires', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] export const VerificationTokenScalarFieldEnum: { identifier: 'identifier', token: 'token', expires: 'expires' }; export type VerificationTokenScalarFieldEnum = (typeof VerificationTokenScalarFieldEnum)[keyof typeof VerificationTokenScalarFieldEnum] export const NoteShareScalarFieldEnum: { id: 'id', noteId: 'noteId', userId: 'userId', sharedBy: 'sharedBy', status: 'status', permission: 'permission', notifiedAt: 'notifiedAt', respondedAt: 'respondedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type NoteShareScalarFieldEnum = (typeof NoteShareScalarFieldEnum)[keyof typeof NoteShareScalarFieldEnum] export const SystemConfigScalarFieldEnum: { key: 'key', value: 'value' }; export type SystemConfigScalarFieldEnum = (typeof SystemConfigScalarFieldEnum)[keyof typeof SystemConfigScalarFieldEnum] export const AiFeedbackScalarFieldEnum: { id: 'id', noteId: 'noteId', userId: 'userId', feedbackType: 'feedbackType', feature: 'feature', originalContent: 'originalContent', correctedContent: 'correctedContent', metadata: 'metadata', createdAt: 'createdAt' }; export type AiFeedbackScalarFieldEnum = (typeof AiFeedbackScalarFieldEnum)[keyof typeof AiFeedbackScalarFieldEnum] export const MemoryEchoInsightScalarFieldEnum: { id: 'id', userId: 'userId', note1Id: 'note1Id', note2Id: 'note2Id', similarityScore: 'similarityScore', insight: 'insight', insightDate: 'insightDate', viewed: 'viewed', feedback: 'feedback', dismissed: 'dismissed' }; export type MemoryEchoInsightScalarFieldEnum = (typeof MemoryEchoInsightScalarFieldEnum)[keyof typeof MemoryEchoInsightScalarFieldEnum] export const UserAISettingsScalarFieldEnum: { userId: 'userId', titleSuggestions: 'titleSuggestions', semanticSearch: 'semanticSearch', paragraphRefactor: 'paragraphRefactor', memoryEcho: 'memoryEcho', memoryEchoFrequency: 'memoryEchoFrequency', aiProvider: 'aiProvider', preferredLanguage: 'preferredLanguage', fontSize: 'fontSize', demoMode: 'demoMode', showRecentNotes: 'showRecentNotes', emailNotifications: 'emailNotifications', desktopNotifications: 'desktopNotifications', anonymousAnalytics: 'anonymousAnalytics' }; export type UserAISettingsScalarFieldEnum = (typeof UserAISettingsScalarFieldEnum)[keyof typeof UserAISettingsScalarFieldEnum] 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 'Boolean' */ export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> /** * 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 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Deep Input Types */ export type NoteWhereInput = { AND?: NoteWhereInput | NoteWhereInput[] OR?: NoteWhereInput[] NOT?: NoteWhereInput | NoteWhereInput[] id?: StringFilter<"Note"> | string title?: StringNullableFilter<"Note"> | string | null content?: StringFilter<"Note"> | string color?: StringFilter<"Note"> | string isPinned?: BoolFilter<"Note"> | boolean isArchived?: BoolFilter<"Note"> | boolean type?: StringFilter<"Note"> | string checkItems?: StringNullableFilter<"Note"> | string | null labels?: StringNullableFilter<"Note"> | string | null images?: StringNullableFilter<"Note"> | string | null links?: StringNullableFilter<"Note"> | string | null reminder?: DateTimeNullableFilter<"Note"> | Date | string | null isReminderDone?: BoolFilter<"Note"> | boolean reminderRecurrence?: StringNullableFilter<"Note"> | string | null reminderLocation?: StringNullableFilter<"Note"> | string | null isMarkdown?: BoolFilter<"Note"> | boolean size?: StringFilter<"Note"> | string embedding?: StringNullableFilter<"Note"> | string | null sharedWith?: StringNullableFilter<"Note"> | string | null userId?: StringNullableFilter<"Note"> | string | null order?: IntFilter<"Note"> | number notebookId?: StringNullableFilter<"Note"> | string | null createdAt?: DateTimeFilter<"Note"> | Date | string updatedAt?: DateTimeFilter<"Note"> | Date | string autoGenerated?: BoolNullableFilter<"Note"> | boolean | null aiProvider?: StringNullableFilter<"Note"> | string | null aiConfidence?: IntNullableFilter<"Note"> | number | null language?: StringNullableFilter<"Note"> | string | null languageConfidence?: FloatNullableFilter<"Note"> | number | null lastAiAnalysis?: DateTimeNullableFilter<"Note"> | Date | string | null } export type NoteOrderByWithRelationInput = { id?: SortOrder title?: SortOrderInput | SortOrder content?: SortOrder color?: SortOrder isPinned?: SortOrder isArchived?: SortOrder type?: SortOrder checkItems?: SortOrderInput | SortOrder labels?: SortOrderInput | SortOrder images?: SortOrderInput | SortOrder links?: SortOrderInput | SortOrder reminder?: SortOrderInput | SortOrder isReminderDone?: SortOrder reminderRecurrence?: SortOrderInput | SortOrder reminderLocation?: SortOrderInput | SortOrder isMarkdown?: SortOrder size?: SortOrder embedding?: SortOrderInput | SortOrder sharedWith?: SortOrderInput | SortOrder userId?: SortOrderInput | SortOrder order?: SortOrder notebookId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder autoGenerated?: SortOrderInput | SortOrder aiProvider?: SortOrderInput | SortOrder aiConfidence?: SortOrderInput | SortOrder language?: SortOrderInput | SortOrder languageConfidence?: SortOrderInput | SortOrder lastAiAnalysis?: SortOrderInput | SortOrder } export type NoteWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: NoteWhereInput | NoteWhereInput[] OR?: NoteWhereInput[] NOT?: NoteWhereInput | NoteWhereInput[] title?: StringNullableFilter<"Note"> | string | null content?: StringFilter<"Note"> | string color?: StringFilter<"Note"> | string isPinned?: BoolFilter<"Note"> | boolean isArchived?: BoolFilter<"Note"> | boolean type?: StringFilter<"Note"> | string checkItems?: StringNullableFilter<"Note"> | string | null labels?: StringNullableFilter<"Note"> | string | null images?: StringNullableFilter<"Note"> | string | null links?: StringNullableFilter<"Note"> | string | null reminder?: DateTimeNullableFilter<"Note"> | Date | string | null isReminderDone?: BoolFilter<"Note"> | boolean reminderRecurrence?: StringNullableFilter<"Note"> | string | null reminderLocation?: StringNullableFilter<"Note"> | string | null isMarkdown?: BoolFilter<"Note"> | boolean size?: StringFilter<"Note"> | string embedding?: StringNullableFilter<"Note"> | string | null sharedWith?: StringNullableFilter<"Note"> | string | null userId?: StringNullableFilter<"Note"> | string | null order?: IntFilter<"Note"> | number notebookId?: StringNullableFilter<"Note"> | string | null createdAt?: DateTimeFilter<"Note"> | Date | string updatedAt?: DateTimeFilter<"Note"> | Date | string autoGenerated?: BoolNullableFilter<"Note"> | boolean | null aiProvider?: StringNullableFilter<"Note"> | string | null aiConfidence?: IntNullableFilter<"Note"> | number | null language?: StringNullableFilter<"Note"> | string | null languageConfidence?: FloatNullableFilter<"Note"> | number | null lastAiAnalysis?: DateTimeNullableFilter<"Note"> | Date | string | null }, "id"> export type NoteOrderByWithAggregationInput = { id?: SortOrder title?: SortOrderInput | SortOrder content?: SortOrder color?: SortOrder isPinned?: SortOrder isArchived?: SortOrder type?: SortOrder checkItems?: SortOrderInput | SortOrder labels?: SortOrderInput | SortOrder images?: SortOrderInput | SortOrder links?: SortOrderInput | SortOrder reminder?: SortOrderInput | SortOrder isReminderDone?: SortOrder reminderRecurrence?: SortOrderInput | SortOrder reminderLocation?: SortOrderInput | SortOrder isMarkdown?: SortOrder size?: SortOrder embedding?: SortOrderInput | SortOrder sharedWith?: SortOrderInput | SortOrder userId?: SortOrderInput | SortOrder order?: SortOrder notebookId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder autoGenerated?: SortOrderInput | SortOrder aiProvider?: SortOrderInput | SortOrder aiConfidence?: SortOrderInput | SortOrder language?: SortOrderInput | SortOrder languageConfidence?: SortOrderInput | SortOrder lastAiAnalysis?: SortOrderInput | SortOrder _count?: NoteCountOrderByAggregateInput _avg?: NoteAvgOrderByAggregateInput _max?: NoteMaxOrderByAggregateInput _min?: NoteMinOrderByAggregateInput _sum?: NoteSumOrderByAggregateInput } export type NoteScalarWhereWithAggregatesInput = { AND?: NoteScalarWhereWithAggregatesInput | NoteScalarWhereWithAggregatesInput[] OR?: NoteScalarWhereWithAggregatesInput[] NOT?: NoteScalarWhereWithAggregatesInput | NoteScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Note"> | string title?: StringNullableWithAggregatesFilter<"Note"> | string | null content?: StringWithAggregatesFilter<"Note"> | string color?: StringWithAggregatesFilter<"Note"> | string isPinned?: BoolWithAggregatesFilter<"Note"> | boolean isArchived?: BoolWithAggregatesFilter<"Note"> | boolean type?: StringWithAggregatesFilter<"Note"> | string checkItems?: StringNullableWithAggregatesFilter<"Note"> | string | null labels?: StringNullableWithAggregatesFilter<"Note"> | string | null images?: StringNullableWithAggregatesFilter<"Note"> | string | null links?: StringNullableWithAggregatesFilter<"Note"> | string | null reminder?: DateTimeNullableWithAggregatesFilter<"Note"> | Date | string | null isReminderDone?: BoolWithAggregatesFilter<"Note"> | boolean reminderRecurrence?: StringNullableWithAggregatesFilter<"Note"> | string | null reminderLocation?: StringNullableWithAggregatesFilter<"Note"> | string | null isMarkdown?: BoolWithAggregatesFilter<"Note"> | boolean size?: StringWithAggregatesFilter<"Note"> | string embedding?: StringNullableWithAggregatesFilter<"Note"> | string | null sharedWith?: StringNullableWithAggregatesFilter<"Note"> | string | null userId?: StringNullableWithAggregatesFilter<"Note"> | string | null order?: IntWithAggregatesFilter<"Note"> | number notebookId?: StringNullableWithAggregatesFilter<"Note"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Note"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Note"> | Date | string autoGenerated?: BoolNullableWithAggregatesFilter<"Note"> | boolean | null aiProvider?: StringNullableWithAggregatesFilter<"Note"> | string | null aiConfidence?: IntNullableWithAggregatesFilter<"Note"> | number | null language?: StringNullableWithAggregatesFilter<"Note"> | string | null languageConfidence?: FloatNullableWithAggregatesFilter<"Note"> | number | null lastAiAnalysis?: DateTimeNullableWithAggregatesFilter<"Note"> | Date | string | null } export type NotebookWhereInput = { AND?: NotebookWhereInput | NotebookWhereInput[] OR?: NotebookWhereInput[] NOT?: NotebookWhereInput | NotebookWhereInput[] id?: StringFilter<"Notebook"> | string name?: StringFilter<"Notebook"> | string icon?: StringNullableFilter<"Notebook"> | string | null color?: StringNullableFilter<"Notebook"> | string | null order?: IntFilter<"Notebook"> | number userId?: StringFilter<"Notebook"> | string createdAt?: DateTimeFilter<"Notebook"> | Date | string updatedAt?: DateTimeFilter<"Notebook"> | Date | string } export type NotebookOrderByWithRelationInput = { id?: SortOrder name?: SortOrder icon?: SortOrderInput | SortOrder color?: SortOrderInput | SortOrder order?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type NotebookWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: NotebookWhereInput | NotebookWhereInput[] OR?: NotebookWhereInput[] NOT?: NotebookWhereInput | NotebookWhereInput[] name?: StringFilter<"Notebook"> | string icon?: StringNullableFilter<"Notebook"> | string | null color?: StringNullableFilter<"Notebook"> | string | null order?: IntFilter<"Notebook"> | number userId?: StringFilter<"Notebook"> | string createdAt?: DateTimeFilter<"Notebook"> | Date | string updatedAt?: DateTimeFilter<"Notebook"> | Date | string }, "id"> export type NotebookOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder icon?: SortOrderInput | SortOrder color?: SortOrderInput | SortOrder order?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: NotebookCountOrderByAggregateInput _avg?: NotebookAvgOrderByAggregateInput _max?: NotebookMaxOrderByAggregateInput _min?: NotebookMinOrderByAggregateInput _sum?: NotebookSumOrderByAggregateInput } export type NotebookScalarWhereWithAggregatesInput = { AND?: NotebookScalarWhereWithAggregatesInput | NotebookScalarWhereWithAggregatesInput[] OR?: NotebookScalarWhereWithAggregatesInput[] NOT?: NotebookScalarWhereWithAggregatesInput | NotebookScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Notebook"> | string name?: StringWithAggregatesFilter<"Notebook"> | string icon?: StringNullableWithAggregatesFilter<"Notebook"> | string | null color?: StringNullableWithAggregatesFilter<"Notebook"> | string | null order?: IntWithAggregatesFilter<"Notebook"> | number userId?: StringWithAggregatesFilter<"Notebook"> | string createdAt?: DateTimeWithAggregatesFilter<"Notebook"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Notebook"> | Date | string } export type LabelWhereInput = { AND?: LabelWhereInput | LabelWhereInput[] OR?: LabelWhereInput[] NOT?: LabelWhereInput | LabelWhereInput[] id?: StringFilter<"Label"> | string name?: StringFilter<"Label"> | string color?: StringFilter<"Label"> | string notebookId?: StringNullableFilter<"Label"> | string | null userId?: StringNullableFilter<"Label"> | string | null createdAt?: DateTimeFilter<"Label"> | Date | string updatedAt?: DateTimeFilter<"Label"> | Date | string } export type LabelOrderByWithRelationInput = { id?: SortOrder name?: SortOrder color?: SortOrder notebookId?: SortOrderInput | SortOrder userId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type LabelWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: LabelWhereInput | LabelWhereInput[] OR?: LabelWhereInput[] NOT?: LabelWhereInput | LabelWhereInput[] name?: StringFilter<"Label"> | string color?: StringFilter<"Label"> | string notebookId?: StringNullableFilter<"Label"> | string | null userId?: StringNullableFilter<"Label"> | string | null createdAt?: DateTimeFilter<"Label"> | Date | string updatedAt?: DateTimeFilter<"Label"> | Date | string }, "id"> export type LabelOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder color?: SortOrder notebookId?: SortOrderInput | SortOrder userId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: LabelCountOrderByAggregateInput _max?: LabelMaxOrderByAggregateInput _min?: LabelMinOrderByAggregateInput } export type LabelScalarWhereWithAggregatesInput = { AND?: LabelScalarWhereWithAggregatesInput | LabelScalarWhereWithAggregatesInput[] OR?: LabelScalarWhereWithAggregatesInput[] NOT?: LabelScalarWhereWithAggregatesInput | LabelScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Label"> | string name?: StringWithAggregatesFilter<"Label"> | string color?: StringWithAggregatesFilter<"Label"> | string notebookId?: StringNullableWithAggregatesFilter<"Label"> | string | null userId?: StringNullableWithAggregatesFilter<"Label"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Label"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Label"> | Date | string } export type UserWhereInput = { AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] id?: StringFilter<"User"> | string name?: StringNullableFilter<"User"> | string | null email?: StringFilter<"User"> | string emailVerified?: DateTimeNullableFilter<"User"> | Date | string | null password?: StringNullableFilter<"User"> | string | null role?: StringFilter<"User"> | string image?: StringNullableFilter<"User"> | string | null theme?: StringFilter<"User"> | string resetToken?: StringNullableFilter<"User"> | string | null resetTokenExpiry?: DateTimeNullableFilter<"User"> | Date | string | null createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string } export type UserOrderByWithRelationInput = { id?: SortOrder name?: SortOrderInput | SortOrder email?: SortOrder emailVerified?: SortOrderInput | SortOrder password?: SortOrderInput | SortOrder role?: SortOrder image?: SortOrderInput | SortOrder theme?: SortOrder resetToken?: SortOrderInput | SortOrder resetTokenExpiry?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserWhereUniqueInput = Prisma.AtLeast<{ id?: string email?: string resetToken?: string AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] name?: StringNullableFilter<"User"> | string | null emailVerified?: DateTimeNullableFilter<"User"> | Date | string | null password?: StringNullableFilter<"User"> | string | null role?: StringFilter<"User"> | string image?: StringNullableFilter<"User"> | string | null theme?: StringFilter<"User"> | string resetTokenExpiry?: DateTimeNullableFilter<"User"> | Date | string | null createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string }, "id" | "email" | "resetToken"> export type UserOrderByWithAggregationInput = { id?: SortOrder name?: SortOrderInput | SortOrder email?: SortOrder emailVerified?: SortOrderInput | SortOrder password?: SortOrderInput | SortOrder role?: SortOrder image?: SortOrderInput | SortOrder theme?: SortOrder resetToken?: SortOrderInput | SortOrder resetTokenExpiry?: SortOrderInput | 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 name?: StringNullableWithAggregatesFilter<"User"> | string | null email?: StringWithAggregatesFilter<"User"> | string emailVerified?: DateTimeNullableWithAggregatesFilter<"User"> | Date | string | null password?: StringNullableWithAggregatesFilter<"User"> | string | null role?: StringWithAggregatesFilter<"User"> | string image?: StringNullableWithAggregatesFilter<"User"> | string | null theme?: StringWithAggregatesFilter<"User"> | string resetToken?: StringNullableWithAggregatesFilter<"User"> | string | null resetTokenExpiry?: DateTimeNullableWithAggregatesFilter<"User"> | Date | string | null createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string } export type AccountWhereInput = { AND?: AccountWhereInput | AccountWhereInput[] OR?: AccountWhereInput[] NOT?: AccountWhereInput | AccountWhereInput[] userId?: StringFilter<"Account"> | string type?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string providerAccountId?: StringFilter<"Account"> | string refresh_token?: StringNullableFilter<"Account"> | string | null access_token?: StringNullableFilter<"Account"> | string | null expires_at?: IntNullableFilter<"Account"> | number | null token_type?: StringNullableFilter<"Account"> | string | null scope?: StringNullableFilter<"Account"> | string | null id_token?: StringNullableFilter<"Account"> | string | null session_state?: StringNullableFilter<"Account"> | string | null createdAt?: DateTimeFilter<"Account"> | Date | string updatedAt?: DateTimeFilter<"Account"> | Date | string } export type AccountOrderByWithRelationInput = { userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrderInput | SortOrder access_token?: SortOrderInput | SortOrder expires_at?: SortOrderInput | SortOrder token_type?: SortOrderInput | SortOrder scope?: SortOrderInput | SortOrder id_token?: SortOrderInput | SortOrder session_state?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AccountWhereUniqueInput = Prisma.AtLeast<{ provider_providerAccountId?: AccountProviderProviderAccountIdCompoundUniqueInput AND?: AccountWhereInput | AccountWhereInput[] OR?: AccountWhereInput[] NOT?: AccountWhereInput | AccountWhereInput[] userId?: StringFilter<"Account"> | string type?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string providerAccountId?: StringFilter<"Account"> | string refresh_token?: StringNullableFilter<"Account"> | string | null access_token?: StringNullableFilter<"Account"> | string | null expires_at?: IntNullableFilter<"Account"> | number | null token_type?: StringNullableFilter<"Account"> | string | null scope?: StringNullableFilter<"Account"> | string | null id_token?: StringNullableFilter<"Account"> | string | null session_state?: StringNullableFilter<"Account"> | string | null createdAt?: DateTimeFilter<"Account"> | Date | string updatedAt?: DateTimeFilter<"Account"> | Date | string }, "provider_providerAccountId"> export type AccountOrderByWithAggregationInput = { userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrderInput | SortOrder access_token?: SortOrderInput | SortOrder expires_at?: SortOrderInput | SortOrder token_type?: SortOrderInput | SortOrder scope?: SortOrderInput | SortOrder id_token?: SortOrderInput | SortOrder session_state?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: AccountCountOrderByAggregateInput _avg?: AccountAvgOrderByAggregateInput _max?: AccountMaxOrderByAggregateInput _min?: AccountMinOrderByAggregateInput _sum?: AccountSumOrderByAggregateInput } export type AccountScalarWhereWithAggregatesInput = { AND?: AccountScalarWhereWithAggregatesInput | AccountScalarWhereWithAggregatesInput[] OR?: AccountScalarWhereWithAggregatesInput[] NOT?: AccountScalarWhereWithAggregatesInput | AccountScalarWhereWithAggregatesInput[] userId?: StringWithAggregatesFilter<"Account"> | string type?: StringWithAggregatesFilter<"Account"> | string provider?: StringWithAggregatesFilter<"Account"> | string providerAccountId?: StringWithAggregatesFilter<"Account"> | string refresh_token?: StringNullableWithAggregatesFilter<"Account"> | string | null access_token?: StringNullableWithAggregatesFilter<"Account"> | string | null expires_at?: IntNullableWithAggregatesFilter<"Account"> | number | null token_type?: StringNullableWithAggregatesFilter<"Account"> | string | null scope?: StringNullableWithAggregatesFilter<"Account"> | string | null id_token?: StringNullableWithAggregatesFilter<"Account"> | string | null session_state?: StringNullableWithAggregatesFilter<"Account"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Account"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Account"> | Date | string } export type SessionWhereInput = { AND?: SessionWhereInput | SessionWhereInput[] OR?: SessionWhereInput[] NOT?: SessionWhereInput | SessionWhereInput[] sessionToken?: StringFilter<"Session"> | string userId?: StringFilter<"Session"> | string expires?: DateTimeFilter<"Session"> | Date | string createdAt?: DateTimeFilter<"Session"> | Date | string updatedAt?: DateTimeFilter<"Session"> | Date | string } export type SessionOrderByWithRelationInput = { sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SessionWhereUniqueInput = Prisma.AtLeast<{ sessionToken?: string AND?: SessionWhereInput | SessionWhereInput[] OR?: SessionWhereInput[] NOT?: SessionWhereInput | SessionWhereInput[] userId?: StringFilter<"Session"> | string expires?: DateTimeFilter<"Session"> | Date | string createdAt?: DateTimeFilter<"Session"> | Date | string updatedAt?: DateTimeFilter<"Session"> | Date | string }, "sessionToken"> export type SessionOrderByWithAggregationInput = { sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: SessionCountOrderByAggregateInput _max?: SessionMaxOrderByAggregateInput _min?: SessionMinOrderByAggregateInput } export type SessionScalarWhereWithAggregatesInput = { AND?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] OR?: SessionScalarWhereWithAggregatesInput[] NOT?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] sessionToken?: StringWithAggregatesFilter<"Session"> | string userId?: StringWithAggregatesFilter<"Session"> | string expires?: DateTimeWithAggregatesFilter<"Session"> | Date | string createdAt?: DateTimeWithAggregatesFilter<"Session"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Session"> | Date | string } export type VerificationTokenWhereInput = { AND?: VerificationTokenWhereInput | VerificationTokenWhereInput[] OR?: VerificationTokenWhereInput[] NOT?: VerificationTokenWhereInput | VerificationTokenWhereInput[] identifier?: StringFilter<"VerificationToken"> | string token?: StringFilter<"VerificationToken"> | string expires?: DateTimeFilter<"VerificationToken"> | Date | string } export type VerificationTokenOrderByWithRelationInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder } export type VerificationTokenWhereUniqueInput = Prisma.AtLeast<{ identifier_token?: VerificationTokenIdentifierTokenCompoundUniqueInput AND?: VerificationTokenWhereInput | VerificationTokenWhereInput[] OR?: VerificationTokenWhereInput[] NOT?: VerificationTokenWhereInput | VerificationTokenWhereInput[] identifier?: StringFilter<"VerificationToken"> | string token?: StringFilter<"VerificationToken"> | string expires?: DateTimeFilter<"VerificationToken"> | Date | string }, "identifier_token"> export type VerificationTokenOrderByWithAggregationInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder _count?: VerificationTokenCountOrderByAggregateInput _max?: VerificationTokenMaxOrderByAggregateInput _min?: VerificationTokenMinOrderByAggregateInput } export type VerificationTokenScalarWhereWithAggregatesInput = { AND?: VerificationTokenScalarWhereWithAggregatesInput | VerificationTokenScalarWhereWithAggregatesInput[] OR?: VerificationTokenScalarWhereWithAggregatesInput[] NOT?: VerificationTokenScalarWhereWithAggregatesInput | VerificationTokenScalarWhereWithAggregatesInput[] identifier?: StringWithAggregatesFilter<"VerificationToken"> | string token?: StringWithAggregatesFilter<"VerificationToken"> | string expires?: DateTimeWithAggregatesFilter<"VerificationToken"> | Date | string } export type NoteShareWhereInput = { AND?: NoteShareWhereInput | NoteShareWhereInput[] OR?: NoteShareWhereInput[] NOT?: NoteShareWhereInput | NoteShareWhereInput[] id?: StringFilter<"NoteShare"> | string noteId?: StringFilter<"NoteShare"> | string userId?: StringFilter<"NoteShare"> | string sharedBy?: StringFilter<"NoteShare"> | string status?: StringFilter<"NoteShare"> | string permission?: StringFilter<"NoteShare"> | string notifiedAt?: DateTimeNullableFilter<"NoteShare"> | Date | string | null respondedAt?: DateTimeNullableFilter<"NoteShare"> | Date | string | null createdAt?: DateTimeFilter<"NoteShare"> | Date | string updatedAt?: DateTimeFilter<"NoteShare"> | Date | string } export type NoteShareOrderByWithRelationInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrder sharedBy?: SortOrder status?: SortOrder permission?: SortOrder notifiedAt?: SortOrderInput | SortOrder respondedAt?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type NoteShareWhereUniqueInput = Prisma.AtLeast<{ id?: string noteId_userId?: NoteShareNoteIdUserIdCompoundUniqueInput AND?: NoteShareWhereInput | NoteShareWhereInput[] OR?: NoteShareWhereInput[] NOT?: NoteShareWhereInput | NoteShareWhereInput[] noteId?: StringFilter<"NoteShare"> | string userId?: StringFilter<"NoteShare"> | string sharedBy?: StringFilter<"NoteShare"> | string status?: StringFilter<"NoteShare"> | string permission?: StringFilter<"NoteShare"> | string notifiedAt?: DateTimeNullableFilter<"NoteShare"> | Date | string | null respondedAt?: DateTimeNullableFilter<"NoteShare"> | Date | string | null createdAt?: DateTimeFilter<"NoteShare"> | Date | string updatedAt?: DateTimeFilter<"NoteShare"> | Date | string }, "id" | "noteId_userId"> export type NoteShareOrderByWithAggregationInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrder sharedBy?: SortOrder status?: SortOrder permission?: SortOrder notifiedAt?: SortOrderInput | SortOrder respondedAt?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: NoteShareCountOrderByAggregateInput _max?: NoteShareMaxOrderByAggregateInput _min?: NoteShareMinOrderByAggregateInput } export type NoteShareScalarWhereWithAggregatesInput = { AND?: NoteShareScalarWhereWithAggregatesInput | NoteShareScalarWhereWithAggregatesInput[] OR?: NoteShareScalarWhereWithAggregatesInput[] NOT?: NoteShareScalarWhereWithAggregatesInput | NoteShareScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"NoteShare"> | string noteId?: StringWithAggregatesFilter<"NoteShare"> | string userId?: StringWithAggregatesFilter<"NoteShare"> | string sharedBy?: StringWithAggregatesFilter<"NoteShare"> | string status?: StringWithAggregatesFilter<"NoteShare"> | string permission?: StringWithAggregatesFilter<"NoteShare"> | string notifiedAt?: DateTimeNullableWithAggregatesFilter<"NoteShare"> | Date | string | null respondedAt?: DateTimeNullableWithAggregatesFilter<"NoteShare"> | Date | string | null createdAt?: DateTimeWithAggregatesFilter<"NoteShare"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"NoteShare"> | Date | string } export type SystemConfigWhereInput = { AND?: SystemConfigWhereInput | SystemConfigWhereInput[] OR?: SystemConfigWhereInput[] NOT?: SystemConfigWhereInput | SystemConfigWhereInput[] key?: StringFilter<"SystemConfig"> | string value?: StringFilter<"SystemConfig"> | string } export type SystemConfigOrderByWithRelationInput = { key?: SortOrder value?: SortOrder } export type SystemConfigWhereUniqueInput = Prisma.AtLeast<{ key?: string AND?: SystemConfigWhereInput | SystemConfigWhereInput[] OR?: SystemConfigWhereInput[] NOT?: SystemConfigWhereInput | SystemConfigWhereInput[] value?: StringFilter<"SystemConfig"> | string }, "key"> export type SystemConfigOrderByWithAggregationInput = { key?: SortOrder value?: SortOrder _count?: SystemConfigCountOrderByAggregateInput _max?: SystemConfigMaxOrderByAggregateInput _min?: SystemConfigMinOrderByAggregateInput } export type SystemConfigScalarWhereWithAggregatesInput = { AND?: SystemConfigScalarWhereWithAggregatesInput | SystemConfigScalarWhereWithAggregatesInput[] OR?: SystemConfigScalarWhereWithAggregatesInput[] NOT?: SystemConfigScalarWhereWithAggregatesInput | SystemConfigScalarWhereWithAggregatesInput[] key?: StringWithAggregatesFilter<"SystemConfig"> | string value?: StringWithAggregatesFilter<"SystemConfig"> | string } export type AiFeedbackWhereInput = { AND?: AiFeedbackWhereInput | AiFeedbackWhereInput[] OR?: AiFeedbackWhereInput[] NOT?: AiFeedbackWhereInput | AiFeedbackWhereInput[] id?: StringFilter<"AiFeedback"> | string noteId?: StringFilter<"AiFeedback"> | string userId?: StringNullableFilter<"AiFeedback"> | string | null feedbackType?: StringFilter<"AiFeedback"> | string feature?: StringFilter<"AiFeedback"> | string originalContent?: StringFilter<"AiFeedback"> | string correctedContent?: StringNullableFilter<"AiFeedback"> | string | null metadata?: StringNullableFilter<"AiFeedback"> | string | null createdAt?: DateTimeFilter<"AiFeedback"> | Date | string } export type AiFeedbackOrderByWithRelationInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrderInput | SortOrder feedbackType?: SortOrder feature?: SortOrder originalContent?: SortOrder correctedContent?: SortOrderInput | SortOrder metadata?: SortOrderInput | SortOrder createdAt?: SortOrder } export type AiFeedbackWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: AiFeedbackWhereInput | AiFeedbackWhereInput[] OR?: AiFeedbackWhereInput[] NOT?: AiFeedbackWhereInput | AiFeedbackWhereInput[] noteId?: StringFilter<"AiFeedback"> | string userId?: StringNullableFilter<"AiFeedback"> | string | null feedbackType?: StringFilter<"AiFeedback"> | string feature?: StringFilter<"AiFeedback"> | string originalContent?: StringFilter<"AiFeedback"> | string correctedContent?: StringNullableFilter<"AiFeedback"> | string | null metadata?: StringNullableFilter<"AiFeedback"> | string | null createdAt?: DateTimeFilter<"AiFeedback"> | Date | string }, "id"> export type AiFeedbackOrderByWithAggregationInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrderInput | SortOrder feedbackType?: SortOrder feature?: SortOrder originalContent?: SortOrder correctedContent?: SortOrderInput | SortOrder metadata?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: AiFeedbackCountOrderByAggregateInput _max?: AiFeedbackMaxOrderByAggregateInput _min?: AiFeedbackMinOrderByAggregateInput } export type AiFeedbackScalarWhereWithAggregatesInput = { AND?: AiFeedbackScalarWhereWithAggregatesInput | AiFeedbackScalarWhereWithAggregatesInput[] OR?: AiFeedbackScalarWhereWithAggregatesInput[] NOT?: AiFeedbackScalarWhereWithAggregatesInput | AiFeedbackScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"AiFeedback"> | string noteId?: StringWithAggregatesFilter<"AiFeedback"> | string userId?: StringNullableWithAggregatesFilter<"AiFeedback"> | string | null feedbackType?: StringWithAggregatesFilter<"AiFeedback"> | string feature?: StringWithAggregatesFilter<"AiFeedback"> | string originalContent?: StringWithAggregatesFilter<"AiFeedback"> | string correctedContent?: StringNullableWithAggregatesFilter<"AiFeedback"> | string | null metadata?: StringNullableWithAggregatesFilter<"AiFeedback"> | string | null createdAt?: DateTimeWithAggregatesFilter<"AiFeedback"> | Date | string } export type MemoryEchoInsightWhereInput = { AND?: MemoryEchoInsightWhereInput | MemoryEchoInsightWhereInput[] OR?: MemoryEchoInsightWhereInput[] NOT?: MemoryEchoInsightWhereInput | MemoryEchoInsightWhereInput[] id?: StringFilter<"MemoryEchoInsight"> | string userId?: StringNullableFilter<"MemoryEchoInsight"> | string | null note1Id?: StringFilter<"MemoryEchoInsight"> | string note2Id?: StringFilter<"MemoryEchoInsight"> | string similarityScore?: FloatFilter<"MemoryEchoInsight"> | number insight?: StringFilter<"MemoryEchoInsight"> | string insightDate?: DateTimeFilter<"MemoryEchoInsight"> | Date | string viewed?: BoolFilter<"MemoryEchoInsight"> | boolean feedback?: StringNullableFilter<"MemoryEchoInsight"> | string | null dismissed?: BoolFilter<"MemoryEchoInsight"> | boolean } export type MemoryEchoInsightOrderByWithRelationInput = { id?: SortOrder userId?: SortOrderInput | SortOrder note1Id?: SortOrder note2Id?: SortOrder similarityScore?: SortOrder insight?: SortOrder insightDate?: SortOrder viewed?: SortOrder feedback?: SortOrderInput | SortOrder dismissed?: SortOrder } export type MemoryEchoInsightWhereUniqueInput = Prisma.AtLeast<{ id?: string userId_insightDate?: MemoryEchoInsightUserIdInsightDateCompoundUniqueInput AND?: MemoryEchoInsightWhereInput | MemoryEchoInsightWhereInput[] OR?: MemoryEchoInsightWhereInput[] NOT?: MemoryEchoInsightWhereInput | MemoryEchoInsightWhereInput[] userId?: StringNullableFilter<"MemoryEchoInsight"> | string | null note1Id?: StringFilter<"MemoryEchoInsight"> | string note2Id?: StringFilter<"MemoryEchoInsight"> | string similarityScore?: FloatFilter<"MemoryEchoInsight"> | number insight?: StringFilter<"MemoryEchoInsight"> | string insightDate?: DateTimeFilter<"MemoryEchoInsight"> | Date | string viewed?: BoolFilter<"MemoryEchoInsight"> | boolean feedback?: StringNullableFilter<"MemoryEchoInsight"> | string | null dismissed?: BoolFilter<"MemoryEchoInsight"> | boolean }, "id" | "userId_insightDate"> export type MemoryEchoInsightOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrderInput | SortOrder note1Id?: SortOrder note2Id?: SortOrder similarityScore?: SortOrder insight?: SortOrder insightDate?: SortOrder viewed?: SortOrder feedback?: SortOrderInput | SortOrder dismissed?: SortOrder _count?: MemoryEchoInsightCountOrderByAggregateInput _avg?: MemoryEchoInsightAvgOrderByAggregateInput _max?: MemoryEchoInsightMaxOrderByAggregateInput _min?: MemoryEchoInsightMinOrderByAggregateInput _sum?: MemoryEchoInsightSumOrderByAggregateInput } export type MemoryEchoInsightScalarWhereWithAggregatesInput = { AND?: MemoryEchoInsightScalarWhereWithAggregatesInput | MemoryEchoInsightScalarWhereWithAggregatesInput[] OR?: MemoryEchoInsightScalarWhereWithAggregatesInput[] NOT?: MemoryEchoInsightScalarWhereWithAggregatesInput | MemoryEchoInsightScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"MemoryEchoInsight"> | string userId?: StringNullableWithAggregatesFilter<"MemoryEchoInsight"> | string | null note1Id?: StringWithAggregatesFilter<"MemoryEchoInsight"> | string note2Id?: StringWithAggregatesFilter<"MemoryEchoInsight"> | string similarityScore?: FloatWithAggregatesFilter<"MemoryEchoInsight"> | number insight?: StringWithAggregatesFilter<"MemoryEchoInsight"> | string insightDate?: DateTimeWithAggregatesFilter<"MemoryEchoInsight"> | Date | string viewed?: BoolWithAggregatesFilter<"MemoryEchoInsight"> | boolean feedback?: StringNullableWithAggregatesFilter<"MemoryEchoInsight"> | string | null dismissed?: BoolWithAggregatesFilter<"MemoryEchoInsight"> | boolean } export type UserAISettingsWhereInput = { AND?: UserAISettingsWhereInput | UserAISettingsWhereInput[] OR?: UserAISettingsWhereInput[] NOT?: UserAISettingsWhereInput | UserAISettingsWhereInput[] userId?: StringFilter<"UserAISettings"> | string titleSuggestions?: BoolFilter<"UserAISettings"> | boolean semanticSearch?: BoolFilter<"UserAISettings"> | boolean paragraphRefactor?: BoolFilter<"UserAISettings"> | boolean memoryEcho?: BoolFilter<"UserAISettings"> | boolean memoryEchoFrequency?: StringFilter<"UserAISettings"> | string aiProvider?: StringFilter<"UserAISettings"> | string preferredLanguage?: StringFilter<"UserAISettings"> | string fontSize?: StringFilter<"UserAISettings"> | string demoMode?: BoolFilter<"UserAISettings"> | boolean showRecentNotes?: BoolFilter<"UserAISettings"> | boolean emailNotifications?: BoolFilter<"UserAISettings"> | boolean desktopNotifications?: BoolFilter<"UserAISettings"> | boolean anonymousAnalytics?: BoolFilter<"UserAISettings"> | boolean } export type UserAISettingsOrderByWithRelationInput = { userId?: SortOrder titleSuggestions?: SortOrder semanticSearch?: SortOrder paragraphRefactor?: SortOrder memoryEcho?: SortOrder memoryEchoFrequency?: SortOrder aiProvider?: SortOrder preferredLanguage?: SortOrder fontSize?: SortOrder demoMode?: SortOrder showRecentNotes?: SortOrder emailNotifications?: SortOrder desktopNotifications?: SortOrder anonymousAnalytics?: SortOrder } export type UserAISettingsWhereUniqueInput = Prisma.AtLeast<{ userId?: string AND?: UserAISettingsWhereInput | UserAISettingsWhereInput[] OR?: UserAISettingsWhereInput[] NOT?: UserAISettingsWhereInput | UserAISettingsWhereInput[] titleSuggestions?: BoolFilter<"UserAISettings"> | boolean semanticSearch?: BoolFilter<"UserAISettings"> | boolean paragraphRefactor?: BoolFilter<"UserAISettings"> | boolean memoryEcho?: BoolFilter<"UserAISettings"> | boolean memoryEchoFrequency?: StringFilter<"UserAISettings"> | string aiProvider?: StringFilter<"UserAISettings"> | string preferredLanguage?: StringFilter<"UserAISettings"> | string fontSize?: StringFilter<"UserAISettings"> | string demoMode?: BoolFilter<"UserAISettings"> | boolean showRecentNotes?: BoolFilter<"UserAISettings"> | boolean emailNotifications?: BoolFilter<"UserAISettings"> | boolean desktopNotifications?: BoolFilter<"UserAISettings"> | boolean anonymousAnalytics?: BoolFilter<"UserAISettings"> | boolean }, "userId"> export type UserAISettingsOrderByWithAggregationInput = { userId?: SortOrder titleSuggestions?: SortOrder semanticSearch?: SortOrder paragraphRefactor?: SortOrder memoryEcho?: SortOrder memoryEchoFrequency?: SortOrder aiProvider?: SortOrder preferredLanguage?: SortOrder fontSize?: SortOrder demoMode?: SortOrder showRecentNotes?: SortOrder emailNotifications?: SortOrder desktopNotifications?: SortOrder anonymousAnalytics?: SortOrder _count?: UserAISettingsCountOrderByAggregateInput _max?: UserAISettingsMaxOrderByAggregateInput _min?: UserAISettingsMinOrderByAggregateInput } export type UserAISettingsScalarWhereWithAggregatesInput = { AND?: UserAISettingsScalarWhereWithAggregatesInput | UserAISettingsScalarWhereWithAggregatesInput[] OR?: UserAISettingsScalarWhereWithAggregatesInput[] NOT?: UserAISettingsScalarWhereWithAggregatesInput | UserAISettingsScalarWhereWithAggregatesInput[] userId?: StringWithAggregatesFilter<"UserAISettings"> | string titleSuggestions?: BoolWithAggregatesFilter<"UserAISettings"> | boolean semanticSearch?: BoolWithAggregatesFilter<"UserAISettings"> | boolean paragraphRefactor?: BoolWithAggregatesFilter<"UserAISettings"> | boolean memoryEcho?: BoolWithAggregatesFilter<"UserAISettings"> | boolean memoryEchoFrequency?: StringWithAggregatesFilter<"UserAISettings"> | string aiProvider?: StringWithAggregatesFilter<"UserAISettings"> | string preferredLanguage?: StringWithAggregatesFilter<"UserAISettings"> | string fontSize?: StringWithAggregatesFilter<"UserAISettings"> | string demoMode?: BoolWithAggregatesFilter<"UserAISettings"> | boolean showRecentNotes?: BoolWithAggregatesFilter<"UserAISettings"> | boolean emailNotifications?: BoolWithAggregatesFilter<"UserAISettings"> | boolean desktopNotifications?: BoolWithAggregatesFilter<"UserAISettings"> | boolean anonymousAnalytics?: BoolWithAggregatesFilter<"UserAISettings"> | boolean } export type NoteCreateInput = { id?: string title?: string | null content: string color?: string isPinned?: boolean isArchived?: boolean type?: string checkItems?: string | null labels?: string | null images?: string | null links?: string | null reminder?: Date | string | null isReminderDone?: boolean reminderRecurrence?: string | null reminderLocation?: string | null isMarkdown?: boolean size?: string embedding?: string | null sharedWith?: string | null userId?: string | null order?: number notebookId?: string | null createdAt?: Date | string updatedAt?: Date | string autoGenerated?: boolean | null aiProvider?: string | null aiConfidence?: number | null language?: string | null languageConfidence?: number | null lastAiAnalysis?: Date | string | null } export type NoteUncheckedCreateInput = { id?: string title?: string | null content: string color?: string isPinned?: boolean isArchived?: boolean type?: string checkItems?: string | null labels?: string | null images?: string | null links?: string | null reminder?: Date | string | null isReminderDone?: boolean reminderRecurrence?: string | null reminderLocation?: string | null isMarkdown?: boolean size?: string embedding?: string | null sharedWith?: string | null userId?: string | null order?: number notebookId?: string | null createdAt?: Date | string updatedAt?: Date | string autoGenerated?: boolean | null aiProvider?: string | null aiConfidence?: number | null language?: string | null languageConfidence?: number | null lastAiAnalysis?: Date | string | null } export type NoteUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: NullableStringFieldUpdateOperationsInput | string | null content?: StringFieldUpdateOperationsInput | string color?: StringFieldUpdateOperationsInput | string isPinned?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean type?: StringFieldUpdateOperationsInput | string checkItems?: NullableStringFieldUpdateOperationsInput | string | null labels?: NullableStringFieldUpdateOperationsInput | string | null images?: NullableStringFieldUpdateOperationsInput | string | null links?: NullableStringFieldUpdateOperationsInput | string | null reminder?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isReminderDone?: BoolFieldUpdateOperationsInput | boolean reminderRecurrence?: NullableStringFieldUpdateOperationsInput | string | null reminderLocation?: NullableStringFieldUpdateOperationsInput | string | null isMarkdown?: BoolFieldUpdateOperationsInput | boolean size?: StringFieldUpdateOperationsInput | string embedding?: NullableStringFieldUpdateOperationsInput | string | null sharedWith?: NullableStringFieldUpdateOperationsInput | string | null userId?: NullableStringFieldUpdateOperationsInput | string | null order?: IntFieldUpdateOperationsInput | number notebookId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string autoGenerated?: NullableBoolFieldUpdateOperationsInput | boolean | null aiProvider?: NullableStringFieldUpdateOperationsInput | string | null aiConfidence?: NullableIntFieldUpdateOperationsInput | number | null language?: NullableStringFieldUpdateOperationsInput | string | null languageConfidence?: NullableFloatFieldUpdateOperationsInput | number | null lastAiAnalysis?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NoteUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: NullableStringFieldUpdateOperationsInput | string | null content?: StringFieldUpdateOperationsInput | string color?: StringFieldUpdateOperationsInput | string isPinned?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean type?: StringFieldUpdateOperationsInput | string checkItems?: NullableStringFieldUpdateOperationsInput | string | null labels?: NullableStringFieldUpdateOperationsInput | string | null images?: NullableStringFieldUpdateOperationsInput | string | null links?: NullableStringFieldUpdateOperationsInput | string | null reminder?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isReminderDone?: BoolFieldUpdateOperationsInput | boolean reminderRecurrence?: NullableStringFieldUpdateOperationsInput | string | null reminderLocation?: NullableStringFieldUpdateOperationsInput | string | null isMarkdown?: BoolFieldUpdateOperationsInput | boolean size?: StringFieldUpdateOperationsInput | string embedding?: NullableStringFieldUpdateOperationsInput | string | null sharedWith?: NullableStringFieldUpdateOperationsInput | string | null userId?: NullableStringFieldUpdateOperationsInput | string | null order?: IntFieldUpdateOperationsInput | number notebookId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string autoGenerated?: NullableBoolFieldUpdateOperationsInput | boolean | null aiProvider?: NullableStringFieldUpdateOperationsInput | string | null aiConfidence?: NullableIntFieldUpdateOperationsInput | number | null language?: NullableStringFieldUpdateOperationsInput | string | null languageConfidence?: NullableFloatFieldUpdateOperationsInput | number | null lastAiAnalysis?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NoteCreateManyInput = { id?: string title?: string | null content: string color?: string isPinned?: boolean isArchived?: boolean type?: string checkItems?: string | null labels?: string | null images?: string | null links?: string | null reminder?: Date | string | null isReminderDone?: boolean reminderRecurrence?: string | null reminderLocation?: string | null isMarkdown?: boolean size?: string embedding?: string | null sharedWith?: string | null userId?: string | null order?: number notebookId?: string | null createdAt?: Date | string updatedAt?: Date | string autoGenerated?: boolean | null aiProvider?: string | null aiConfidence?: number | null language?: string | null languageConfidence?: number | null lastAiAnalysis?: Date | string | null } export type NoteUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string title?: NullableStringFieldUpdateOperationsInput | string | null content?: StringFieldUpdateOperationsInput | string color?: StringFieldUpdateOperationsInput | string isPinned?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean type?: StringFieldUpdateOperationsInput | string checkItems?: NullableStringFieldUpdateOperationsInput | string | null labels?: NullableStringFieldUpdateOperationsInput | string | null images?: NullableStringFieldUpdateOperationsInput | string | null links?: NullableStringFieldUpdateOperationsInput | string | null reminder?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isReminderDone?: BoolFieldUpdateOperationsInput | boolean reminderRecurrence?: NullableStringFieldUpdateOperationsInput | string | null reminderLocation?: NullableStringFieldUpdateOperationsInput | string | null isMarkdown?: BoolFieldUpdateOperationsInput | boolean size?: StringFieldUpdateOperationsInput | string embedding?: NullableStringFieldUpdateOperationsInput | string | null sharedWith?: NullableStringFieldUpdateOperationsInput | string | null userId?: NullableStringFieldUpdateOperationsInput | string | null order?: IntFieldUpdateOperationsInput | number notebookId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string autoGenerated?: NullableBoolFieldUpdateOperationsInput | boolean | null aiProvider?: NullableStringFieldUpdateOperationsInput | string | null aiConfidence?: NullableIntFieldUpdateOperationsInput | number | null language?: NullableStringFieldUpdateOperationsInput | string | null languageConfidence?: NullableFloatFieldUpdateOperationsInput | number | null lastAiAnalysis?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NoteUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string title?: NullableStringFieldUpdateOperationsInput | string | null content?: StringFieldUpdateOperationsInput | string color?: StringFieldUpdateOperationsInput | string isPinned?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean type?: StringFieldUpdateOperationsInput | string checkItems?: NullableStringFieldUpdateOperationsInput | string | null labels?: NullableStringFieldUpdateOperationsInput | string | null images?: NullableStringFieldUpdateOperationsInput | string | null links?: NullableStringFieldUpdateOperationsInput | string | null reminder?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isReminderDone?: BoolFieldUpdateOperationsInput | boolean reminderRecurrence?: NullableStringFieldUpdateOperationsInput | string | null reminderLocation?: NullableStringFieldUpdateOperationsInput | string | null isMarkdown?: BoolFieldUpdateOperationsInput | boolean size?: StringFieldUpdateOperationsInput | string embedding?: NullableStringFieldUpdateOperationsInput | string | null sharedWith?: NullableStringFieldUpdateOperationsInput | string | null userId?: NullableStringFieldUpdateOperationsInput | string | null order?: IntFieldUpdateOperationsInput | number notebookId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string autoGenerated?: NullableBoolFieldUpdateOperationsInput | boolean | null aiProvider?: NullableStringFieldUpdateOperationsInput | string | null aiConfidence?: NullableIntFieldUpdateOperationsInput | number | null language?: NullableStringFieldUpdateOperationsInput | string | null languageConfidence?: NullableFloatFieldUpdateOperationsInput | number | null lastAiAnalysis?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NotebookCreateInput = { id?: string name: string icon?: string | null color?: string | null order: number userId: string createdAt?: Date | string updatedAt?: Date | string } export type NotebookUncheckedCreateInput = { id?: string name: string icon?: string | null color?: string | null order: number userId: string createdAt?: Date | string updatedAt?: Date | string } export type NotebookUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string icon?: NullableStringFieldUpdateOperationsInput | string | null color?: NullableStringFieldUpdateOperationsInput | string | null order?: IntFieldUpdateOperationsInput | number userId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NotebookUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string icon?: NullableStringFieldUpdateOperationsInput | string | null color?: NullableStringFieldUpdateOperationsInput | string | null order?: IntFieldUpdateOperationsInput | number userId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NotebookCreateManyInput = { id?: string name: string icon?: string | null color?: string | null order: number userId: string createdAt?: Date | string updatedAt?: Date | string } export type NotebookUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string icon?: NullableStringFieldUpdateOperationsInput | string | null color?: NullableStringFieldUpdateOperationsInput | string | null order?: IntFieldUpdateOperationsInput | number userId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NotebookUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string icon?: NullableStringFieldUpdateOperationsInput | string | null color?: NullableStringFieldUpdateOperationsInput | string | null order?: IntFieldUpdateOperationsInput | number userId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LabelCreateInput = { id?: string name: string color?: string notebookId?: string | null userId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type LabelUncheckedCreateInput = { id?: string name: string color?: string notebookId?: string | null userId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type LabelUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string color?: StringFieldUpdateOperationsInput | string notebookId?: NullableStringFieldUpdateOperationsInput | string | null userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LabelUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string color?: StringFieldUpdateOperationsInput | string notebookId?: NullableStringFieldUpdateOperationsInput | string | null userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LabelCreateManyInput = { id?: string name: string color?: string notebookId?: string | null userId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type LabelUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string color?: StringFieldUpdateOperationsInput | string notebookId?: NullableStringFieldUpdateOperationsInput | string | null userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LabelUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string color?: StringFieldUpdateOperationsInput | string notebookId?: NullableStringFieldUpdateOperationsInput | string | null userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserCreateInput = { id?: string name?: string | null email: string emailVerified?: Date | string | null password?: string | null role?: string image?: string | null theme?: string resetToken?: string | null resetTokenExpiry?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type UserUncheckedCreateInput = { id?: string name?: string | null email: string emailVerified?: Date | string | null password?: string | null role?: string image?: string | null theme?: string resetToken?: string | null resetTokenExpiry?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null password?: NullableStringFieldUpdateOperationsInput | string | null role?: StringFieldUpdateOperationsInput | string image?: NullableStringFieldUpdateOperationsInput | string | null theme?: StringFieldUpdateOperationsInput | string resetToken?: NullableStringFieldUpdateOperationsInput | string | null resetTokenExpiry?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null password?: NullableStringFieldUpdateOperationsInput | string | null role?: StringFieldUpdateOperationsInput | string image?: NullableStringFieldUpdateOperationsInput | string | null theme?: StringFieldUpdateOperationsInput | string resetToken?: NullableStringFieldUpdateOperationsInput | string | null resetTokenExpiry?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserCreateManyInput = { id?: string name?: string | null email: string emailVerified?: Date | string | null password?: string | null role?: string image?: string | null theme?: string resetToken?: string | null resetTokenExpiry?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null password?: NullableStringFieldUpdateOperationsInput | string | null role?: StringFieldUpdateOperationsInput | string image?: NullableStringFieldUpdateOperationsInput | string | null theme?: StringFieldUpdateOperationsInput | string resetToken?: NullableStringFieldUpdateOperationsInput | string | null resetTokenExpiry?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null email?: StringFieldUpdateOperationsInput | string emailVerified?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null password?: NullableStringFieldUpdateOperationsInput | string | null role?: StringFieldUpdateOperationsInput | string image?: NullableStringFieldUpdateOperationsInput | string | null theme?: StringFieldUpdateOperationsInput | string resetToken?: NullableStringFieldUpdateOperationsInput | string | null resetTokenExpiry?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountCreateInput = { userId: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null createdAt?: Date | string updatedAt?: Date | string } export type AccountUncheckedCreateInput = { userId: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null createdAt?: Date | string updatedAt?: Date | string } export type AccountUpdateInput = { userId?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUncheckedUpdateInput = { userId?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountCreateManyInput = { userId: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null createdAt?: Date | string updatedAt?: Date | string } export type AccountUpdateManyMutationInput = { userId?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUncheckedUpdateManyInput = { userId?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionCreateInput = { sessionToken: string userId: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUncheckedCreateInput = { sessionToken: string userId: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUpdateInput = { sessionToken?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateInput = { sessionToken?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionCreateManyInput = { sessionToken: string userId: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUpdateManyMutationInput = { sessionToken?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateManyInput = { sessionToken?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VerificationTokenCreateInput = { identifier: string token: string expires: Date | string } export type VerificationTokenUncheckedCreateInput = { identifier: string token: string expires: Date | string } export type VerificationTokenUpdateInput = { identifier?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string } export type VerificationTokenUncheckedUpdateInput = { identifier?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string } export type VerificationTokenCreateManyInput = { identifier: string token: string expires: Date | string } export type VerificationTokenUpdateManyMutationInput = { identifier?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string } export type VerificationTokenUncheckedUpdateManyInput = { identifier?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string } export type NoteShareCreateInput = { id?: string noteId: string userId: string sharedBy: string status?: string permission?: string notifiedAt?: Date | string | null respondedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type NoteShareUncheckedCreateInput = { id?: string noteId: string userId: string sharedBy: string status?: string permission?: string notifiedAt?: Date | string | null respondedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type NoteShareUpdateInput = { id?: StringFieldUpdateOperationsInput | string noteId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string sharedBy?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string permission?: StringFieldUpdateOperationsInput | string notifiedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null respondedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NoteShareUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string noteId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string sharedBy?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string permission?: StringFieldUpdateOperationsInput | string notifiedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null respondedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NoteShareCreateManyInput = { id?: string noteId: string userId: string sharedBy: string status?: string permission?: string notifiedAt?: Date | string | null respondedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type NoteShareUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string noteId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string sharedBy?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string permission?: StringFieldUpdateOperationsInput | string notifiedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null respondedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NoteShareUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string noteId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string sharedBy?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string permission?: StringFieldUpdateOperationsInput | string notifiedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null respondedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SystemConfigCreateInput = { key: string value: string } export type SystemConfigUncheckedCreateInput = { key: string value: string } export type SystemConfigUpdateInput = { key?: StringFieldUpdateOperationsInput | string value?: StringFieldUpdateOperationsInput | string } export type SystemConfigUncheckedUpdateInput = { key?: StringFieldUpdateOperationsInput | string value?: StringFieldUpdateOperationsInput | string } export type SystemConfigCreateManyInput = { key: string value: string } export type SystemConfigUpdateManyMutationInput = { key?: StringFieldUpdateOperationsInput | string value?: StringFieldUpdateOperationsInput | string } export type SystemConfigUncheckedUpdateManyInput = { key?: StringFieldUpdateOperationsInput | string value?: StringFieldUpdateOperationsInput | string } export type AiFeedbackCreateInput = { id?: string noteId: string userId?: string | null feedbackType: string feature: string originalContent: string correctedContent?: string | null metadata?: string | null createdAt?: Date | string } export type AiFeedbackUncheckedCreateInput = { id?: string noteId: string userId?: string | null feedbackType: string feature: string originalContent: string correctedContent?: string | null metadata?: string | null createdAt?: Date | string } export type AiFeedbackUpdateInput = { id?: StringFieldUpdateOperationsInput | string noteId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null feedbackType?: StringFieldUpdateOperationsInput | string feature?: StringFieldUpdateOperationsInput | string originalContent?: StringFieldUpdateOperationsInput | string correctedContent?: NullableStringFieldUpdateOperationsInput | string | null metadata?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AiFeedbackUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string noteId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null feedbackType?: StringFieldUpdateOperationsInput | string feature?: StringFieldUpdateOperationsInput | string originalContent?: StringFieldUpdateOperationsInput | string correctedContent?: NullableStringFieldUpdateOperationsInput | string | null metadata?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AiFeedbackCreateManyInput = { id?: string noteId: string userId?: string | null feedbackType: string feature: string originalContent: string correctedContent?: string | null metadata?: string | null createdAt?: Date | string } export type AiFeedbackUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string noteId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null feedbackType?: StringFieldUpdateOperationsInput | string feature?: StringFieldUpdateOperationsInput | string originalContent?: StringFieldUpdateOperationsInput | string correctedContent?: NullableStringFieldUpdateOperationsInput | string | null metadata?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AiFeedbackUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string noteId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null feedbackType?: StringFieldUpdateOperationsInput | string feature?: StringFieldUpdateOperationsInput | string originalContent?: StringFieldUpdateOperationsInput | string correctedContent?: NullableStringFieldUpdateOperationsInput | string | null metadata?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type MemoryEchoInsightCreateInput = { id?: string userId?: string | null note1Id: string note2Id: string similarityScore: number insight: string insightDate?: Date | string viewed?: boolean feedback?: string | null dismissed?: boolean } export type MemoryEchoInsightUncheckedCreateInput = { id?: string userId?: string | null note1Id: string note2Id: string similarityScore: number insight: string insightDate?: Date | string viewed?: boolean feedback?: string | null dismissed?: boolean } export type MemoryEchoInsightUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null note1Id?: StringFieldUpdateOperationsInput | string note2Id?: StringFieldUpdateOperationsInput | string similarityScore?: FloatFieldUpdateOperationsInput | number insight?: StringFieldUpdateOperationsInput | string insightDate?: DateTimeFieldUpdateOperationsInput | Date | string viewed?: BoolFieldUpdateOperationsInput | boolean feedback?: NullableStringFieldUpdateOperationsInput | string | null dismissed?: BoolFieldUpdateOperationsInput | boolean } export type MemoryEchoInsightUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null note1Id?: StringFieldUpdateOperationsInput | string note2Id?: StringFieldUpdateOperationsInput | string similarityScore?: FloatFieldUpdateOperationsInput | number insight?: StringFieldUpdateOperationsInput | string insightDate?: DateTimeFieldUpdateOperationsInput | Date | string viewed?: BoolFieldUpdateOperationsInput | boolean feedback?: NullableStringFieldUpdateOperationsInput | string | null dismissed?: BoolFieldUpdateOperationsInput | boolean } export type MemoryEchoInsightCreateManyInput = { id?: string userId?: string | null note1Id: string note2Id: string similarityScore: number insight: string insightDate?: Date | string viewed?: boolean feedback?: string | null dismissed?: boolean } export type MemoryEchoInsightUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null note1Id?: StringFieldUpdateOperationsInput | string note2Id?: StringFieldUpdateOperationsInput | string similarityScore?: FloatFieldUpdateOperationsInput | number insight?: StringFieldUpdateOperationsInput | string insightDate?: DateTimeFieldUpdateOperationsInput | Date | string viewed?: BoolFieldUpdateOperationsInput | boolean feedback?: NullableStringFieldUpdateOperationsInput | string | null dismissed?: BoolFieldUpdateOperationsInput | boolean } export type MemoryEchoInsightUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null note1Id?: StringFieldUpdateOperationsInput | string note2Id?: StringFieldUpdateOperationsInput | string similarityScore?: FloatFieldUpdateOperationsInput | number insight?: StringFieldUpdateOperationsInput | string insightDate?: DateTimeFieldUpdateOperationsInput | Date | string viewed?: BoolFieldUpdateOperationsInput | boolean feedback?: NullableStringFieldUpdateOperationsInput | string | null dismissed?: BoolFieldUpdateOperationsInput | boolean } export type UserAISettingsCreateInput = { userId: string titleSuggestions?: boolean semanticSearch?: boolean paragraphRefactor?: boolean memoryEcho?: boolean memoryEchoFrequency?: string aiProvider?: string preferredLanguage?: string fontSize?: string demoMode?: boolean showRecentNotes?: boolean emailNotifications?: boolean desktopNotifications?: boolean anonymousAnalytics?: boolean } export type UserAISettingsUncheckedCreateInput = { userId: string titleSuggestions?: boolean semanticSearch?: boolean paragraphRefactor?: boolean memoryEcho?: boolean memoryEchoFrequency?: string aiProvider?: string preferredLanguage?: string fontSize?: string demoMode?: boolean showRecentNotes?: boolean emailNotifications?: boolean desktopNotifications?: boolean anonymousAnalytics?: boolean } export type UserAISettingsUpdateInput = { userId?: StringFieldUpdateOperationsInput | string titleSuggestions?: BoolFieldUpdateOperationsInput | boolean semanticSearch?: BoolFieldUpdateOperationsInput | boolean paragraphRefactor?: BoolFieldUpdateOperationsInput | boolean memoryEcho?: BoolFieldUpdateOperationsInput | boolean memoryEchoFrequency?: StringFieldUpdateOperationsInput | string aiProvider?: StringFieldUpdateOperationsInput | string preferredLanguage?: StringFieldUpdateOperationsInput | string fontSize?: StringFieldUpdateOperationsInput | string demoMode?: BoolFieldUpdateOperationsInput | boolean showRecentNotes?: BoolFieldUpdateOperationsInput | boolean emailNotifications?: BoolFieldUpdateOperationsInput | boolean desktopNotifications?: BoolFieldUpdateOperationsInput | boolean anonymousAnalytics?: BoolFieldUpdateOperationsInput | boolean } export type UserAISettingsUncheckedUpdateInput = { userId?: StringFieldUpdateOperationsInput | string titleSuggestions?: BoolFieldUpdateOperationsInput | boolean semanticSearch?: BoolFieldUpdateOperationsInput | boolean paragraphRefactor?: BoolFieldUpdateOperationsInput | boolean memoryEcho?: BoolFieldUpdateOperationsInput | boolean memoryEchoFrequency?: StringFieldUpdateOperationsInput | string aiProvider?: StringFieldUpdateOperationsInput | string preferredLanguage?: StringFieldUpdateOperationsInput | string fontSize?: StringFieldUpdateOperationsInput | string demoMode?: BoolFieldUpdateOperationsInput | boolean showRecentNotes?: BoolFieldUpdateOperationsInput | boolean emailNotifications?: BoolFieldUpdateOperationsInput | boolean desktopNotifications?: BoolFieldUpdateOperationsInput | boolean anonymousAnalytics?: BoolFieldUpdateOperationsInput | boolean } export type UserAISettingsCreateManyInput = { userId: string titleSuggestions?: boolean semanticSearch?: boolean paragraphRefactor?: boolean memoryEcho?: boolean memoryEchoFrequency?: string aiProvider?: string preferredLanguage?: string fontSize?: string demoMode?: boolean showRecentNotes?: boolean emailNotifications?: boolean desktopNotifications?: boolean anonymousAnalytics?: boolean } export type UserAISettingsUpdateManyMutationInput = { userId?: StringFieldUpdateOperationsInput | string titleSuggestions?: BoolFieldUpdateOperationsInput | boolean semanticSearch?: BoolFieldUpdateOperationsInput | boolean paragraphRefactor?: BoolFieldUpdateOperationsInput | boolean memoryEcho?: BoolFieldUpdateOperationsInput | boolean memoryEchoFrequency?: StringFieldUpdateOperationsInput | string aiProvider?: StringFieldUpdateOperationsInput | string preferredLanguage?: StringFieldUpdateOperationsInput | string fontSize?: StringFieldUpdateOperationsInput | string demoMode?: BoolFieldUpdateOperationsInput | boolean showRecentNotes?: BoolFieldUpdateOperationsInput | boolean emailNotifications?: BoolFieldUpdateOperationsInput | boolean desktopNotifications?: BoolFieldUpdateOperationsInput | boolean anonymousAnalytics?: BoolFieldUpdateOperationsInput | boolean } export type UserAISettingsUncheckedUpdateManyInput = { userId?: StringFieldUpdateOperationsInput | string titleSuggestions?: BoolFieldUpdateOperationsInput | boolean semanticSearch?: BoolFieldUpdateOperationsInput | boolean paragraphRefactor?: BoolFieldUpdateOperationsInput | boolean memoryEcho?: BoolFieldUpdateOperationsInput | boolean memoryEchoFrequency?: StringFieldUpdateOperationsInput | string aiProvider?: StringFieldUpdateOperationsInput | string preferredLanguage?: StringFieldUpdateOperationsInput | string fontSize?: StringFieldUpdateOperationsInput | string demoMode?: BoolFieldUpdateOperationsInput | boolean showRecentNotes?: BoolFieldUpdateOperationsInput | boolean emailNotifications?: BoolFieldUpdateOperationsInput | boolean desktopNotifications?: BoolFieldUpdateOperationsInput | boolean anonymousAnalytics?: BoolFieldUpdateOperationsInput | boolean } 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 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 BoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type DateTimeNullableFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | null notIn?: Date[] | string[] | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } export type IntFilter<$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 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 BoolNullableFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null not?: NestedBoolNullableFilter<$PrismaModel> | boolean | null } 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 FloatNullableFilter<$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 SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type NoteCountOrderByAggregateInput = { id?: SortOrder title?: SortOrder content?: SortOrder color?: SortOrder isPinned?: SortOrder isArchived?: SortOrder type?: SortOrder checkItems?: SortOrder labels?: SortOrder images?: SortOrder links?: SortOrder reminder?: SortOrder isReminderDone?: SortOrder reminderRecurrence?: SortOrder reminderLocation?: SortOrder isMarkdown?: SortOrder size?: SortOrder embedding?: SortOrder sharedWith?: SortOrder userId?: SortOrder order?: SortOrder notebookId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder autoGenerated?: SortOrder aiProvider?: SortOrder aiConfidence?: SortOrder language?: SortOrder languageConfidence?: SortOrder lastAiAnalysis?: SortOrder } export type NoteAvgOrderByAggregateInput = { order?: SortOrder aiConfidence?: SortOrder languageConfidence?: SortOrder } export type NoteMaxOrderByAggregateInput = { id?: SortOrder title?: SortOrder content?: SortOrder color?: SortOrder isPinned?: SortOrder isArchived?: SortOrder type?: SortOrder checkItems?: SortOrder labels?: SortOrder images?: SortOrder links?: SortOrder reminder?: SortOrder isReminderDone?: SortOrder reminderRecurrence?: SortOrder reminderLocation?: SortOrder isMarkdown?: SortOrder size?: SortOrder embedding?: SortOrder sharedWith?: SortOrder userId?: SortOrder order?: SortOrder notebookId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder autoGenerated?: SortOrder aiProvider?: SortOrder aiConfidence?: SortOrder language?: SortOrder languageConfidence?: SortOrder lastAiAnalysis?: SortOrder } export type NoteMinOrderByAggregateInput = { id?: SortOrder title?: SortOrder content?: SortOrder color?: SortOrder isPinned?: SortOrder isArchived?: SortOrder type?: SortOrder checkItems?: SortOrder labels?: SortOrder images?: SortOrder links?: SortOrder reminder?: SortOrder isReminderDone?: SortOrder reminderRecurrence?: SortOrder reminderLocation?: SortOrder isMarkdown?: SortOrder size?: SortOrder embedding?: SortOrder sharedWith?: SortOrder userId?: SortOrder order?: SortOrder notebookId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder autoGenerated?: SortOrder aiProvider?: SortOrder aiConfidence?: SortOrder language?: SortOrder languageConfidence?: SortOrder lastAiAnalysis?: SortOrder } export type NoteSumOrderByAggregateInput = { order?: SortOrder aiConfidence?: SortOrder languageConfidence?: 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 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 BoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | null notIn?: Date[] | string[] | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedDateTimeNullableFilter<$PrismaModel> _max?: NestedDateTimeNullableFilter<$PrismaModel> } export type IntWithAggregatesFilter<$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?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$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 BoolNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null not?: NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedBoolNullableFilter<$PrismaModel> _max?: NestedBoolNullableFilter<$PrismaModel> } 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 FloatNullableWithAggregatesFilter<$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?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedFloatNullableFilter<$PrismaModel> _min?: NestedFloatNullableFilter<$PrismaModel> _max?: NestedFloatNullableFilter<$PrismaModel> } export type NotebookCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder icon?: SortOrder color?: SortOrder order?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type NotebookAvgOrderByAggregateInput = { order?: SortOrder } export type NotebookMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder icon?: SortOrder color?: SortOrder order?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type NotebookMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder icon?: SortOrder color?: SortOrder order?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type NotebookSumOrderByAggregateInput = { order?: SortOrder } export type LabelCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder color?: SortOrder notebookId?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type LabelMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder color?: SortOrder notebookId?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type LabelMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder color?: SortOrder notebookId?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder email?: SortOrder emailVerified?: SortOrder password?: SortOrder role?: SortOrder image?: SortOrder theme?: SortOrder resetToken?: SortOrder resetTokenExpiry?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder email?: SortOrder emailVerified?: SortOrder password?: SortOrder role?: SortOrder image?: SortOrder theme?: SortOrder resetToken?: SortOrder resetTokenExpiry?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder email?: SortOrder emailVerified?: SortOrder password?: SortOrder role?: SortOrder image?: SortOrder theme?: SortOrder resetToken?: SortOrder resetTokenExpiry?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AccountProviderProviderAccountIdCompoundUniqueInput = { provider: string providerAccountId: string } export type AccountCountOrderByAggregateInput = { userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrder access_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder id_token?: SortOrder session_state?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AccountAvgOrderByAggregateInput = { expires_at?: SortOrder } export type AccountMaxOrderByAggregateInput = { userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrder access_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder id_token?: SortOrder session_state?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AccountMinOrderByAggregateInput = { userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrder access_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder id_token?: SortOrder session_state?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type AccountSumOrderByAggregateInput = { expires_at?: SortOrder } export type SessionCountOrderByAggregateInput = { sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SessionMaxOrderByAggregateInput = { sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SessionMinOrderByAggregateInput = { sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type VerificationTokenIdentifierTokenCompoundUniqueInput = { identifier: string token: string } export type VerificationTokenCountOrderByAggregateInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder } export type VerificationTokenMaxOrderByAggregateInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder } export type VerificationTokenMinOrderByAggregateInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder } export type NoteShareNoteIdUserIdCompoundUniqueInput = { noteId: string userId: string } export type NoteShareCountOrderByAggregateInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrder sharedBy?: SortOrder status?: SortOrder permission?: SortOrder notifiedAt?: SortOrder respondedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type NoteShareMaxOrderByAggregateInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrder sharedBy?: SortOrder status?: SortOrder permission?: SortOrder notifiedAt?: SortOrder respondedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type NoteShareMinOrderByAggregateInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrder sharedBy?: SortOrder status?: SortOrder permission?: SortOrder notifiedAt?: SortOrder respondedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SystemConfigCountOrderByAggregateInput = { key?: SortOrder value?: SortOrder } export type SystemConfigMaxOrderByAggregateInput = { key?: SortOrder value?: SortOrder } export type SystemConfigMinOrderByAggregateInput = { key?: SortOrder value?: SortOrder } export type AiFeedbackCountOrderByAggregateInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrder feedbackType?: SortOrder feature?: SortOrder originalContent?: SortOrder correctedContent?: SortOrder metadata?: SortOrder createdAt?: SortOrder } export type AiFeedbackMaxOrderByAggregateInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrder feedbackType?: SortOrder feature?: SortOrder originalContent?: SortOrder correctedContent?: SortOrder metadata?: SortOrder createdAt?: SortOrder } export type AiFeedbackMinOrderByAggregateInput = { id?: SortOrder noteId?: SortOrder userId?: SortOrder feedbackType?: SortOrder feature?: SortOrder originalContent?: SortOrder correctedContent?: SortOrder metadata?: SortOrder createdAt?: SortOrder } export type FloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type MemoryEchoInsightUserIdInsightDateCompoundUniqueInput = { userId: string insightDate: Date | string } export type MemoryEchoInsightCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder note1Id?: SortOrder note2Id?: SortOrder similarityScore?: SortOrder insight?: SortOrder insightDate?: SortOrder viewed?: SortOrder feedback?: SortOrder dismissed?: SortOrder } export type MemoryEchoInsightAvgOrderByAggregateInput = { similarityScore?: SortOrder } export type MemoryEchoInsightMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder note1Id?: SortOrder note2Id?: SortOrder similarityScore?: SortOrder insight?: SortOrder insightDate?: SortOrder viewed?: SortOrder feedback?: SortOrder dismissed?: SortOrder } export type MemoryEchoInsightMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder note1Id?: SortOrder note2Id?: SortOrder similarityScore?: SortOrder insight?: SortOrder insightDate?: SortOrder viewed?: SortOrder feedback?: SortOrder dismissed?: SortOrder } export type MemoryEchoInsightSumOrderByAggregateInput = { similarityScore?: SortOrder } export type FloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedFloatFilter<$PrismaModel> _min?: NestedFloatFilter<$PrismaModel> _max?: NestedFloatFilter<$PrismaModel> } export type UserAISettingsCountOrderByAggregateInput = { userId?: SortOrder titleSuggestions?: SortOrder semanticSearch?: SortOrder paragraphRefactor?: SortOrder memoryEcho?: SortOrder memoryEchoFrequency?: SortOrder aiProvider?: SortOrder preferredLanguage?: SortOrder fontSize?: SortOrder demoMode?: SortOrder showRecentNotes?: SortOrder emailNotifications?: SortOrder desktopNotifications?: SortOrder anonymousAnalytics?: SortOrder } export type UserAISettingsMaxOrderByAggregateInput = { userId?: SortOrder titleSuggestions?: SortOrder semanticSearch?: SortOrder paragraphRefactor?: SortOrder memoryEcho?: SortOrder memoryEchoFrequency?: SortOrder aiProvider?: SortOrder preferredLanguage?: SortOrder fontSize?: SortOrder demoMode?: SortOrder showRecentNotes?: SortOrder emailNotifications?: SortOrder desktopNotifications?: SortOrder anonymousAnalytics?: SortOrder } export type UserAISettingsMinOrderByAggregateInput = { userId?: SortOrder titleSuggestions?: SortOrder semanticSearch?: SortOrder paragraphRefactor?: SortOrder memoryEcho?: SortOrder memoryEchoFrequency?: SortOrder aiProvider?: SortOrder preferredLanguage?: SortOrder fontSize?: SortOrder demoMode?: SortOrder showRecentNotes?: SortOrder emailNotifications?: SortOrder desktopNotifications?: SortOrder anonymousAnalytics?: SortOrder } export type StringFieldUpdateOperationsInput = { set?: string } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type BoolFieldUpdateOperationsInput = { set?: boolean } export type NullableDateTimeFieldUpdateOperationsInput = { set?: Date | string | null } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type NullableBoolFieldUpdateOperationsInput = { set?: boolean | null } export type NullableIntFieldUpdateOperationsInput = { set?: number | null increment?: number decrement?: number multiply?: number divide?: number } export type NullableFloatFieldUpdateOperationsInput = { set?: number | null increment?: number decrement?: number multiply?: number divide?: number } export type FloatFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } 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 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 NestedBoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type NestedDateTimeNullableFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | null notIn?: Date[] | string[] | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } export type 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 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 NestedBoolNullableFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null not?: NestedBoolNullableFilter<$PrismaModel> | boolean | null } 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 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 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 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 NestedBoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | null notIn?: Date[] | string[] | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedDateTimeNullableFilter<$PrismaModel> _max?: NestedDateTimeNullableFilter<$PrismaModel> } export type NestedIntWithAggregatesFilter<$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?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type NestedFloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$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 NestedBoolNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> | null not?: NestedBoolNullableWithAggregatesFilter<$PrismaModel> | boolean | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedBoolNullableFilter<$PrismaModel> _max?: NestedBoolNullableFilter<$PrismaModel> } 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 NestedFloatNullableWithAggregatesFilter<$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?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedFloatNullableFilter<$PrismaModel> _min?: NestedFloatNullableFilter<$PrismaModel> _max?: NestedFloatNullableFilter<$PrismaModel> } export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedFloatFilter<$PrismaModel> _min?: NestedFloatFilter<$PrismaModel> _max?: NestedFloatFilter<$PrismaModel> } /** * Aliases for legacy arg types */ /** * @deprecated Use NoteDefaultArgs instead */ export type NoteArgs = NoteDefaultArgs /** * @deprecated Use NotebookDefaultArgs instead */ export type NotebookArgs = NotebookDefaultArgs /** * @deprecated Use LabelDefaultArgs instead */ export type LabelArgs = LabelDefaultArgs /** * @deprecated Use UserDefaultArgs instead */ export type UserArgs = UserDefaultArgs /** * @deprecated Use AccountDefaultArgs instead */ export type AccountArgs = AccountDefaultArgs /** * @deprecated Use SessionDefaultArgs instead */ export type SessionArgs = SessionDefaultArgs /** * @deprecated Use VerificationTokenDefaultArgs instead */ export type VerificationTokenArgs = VerificationTokenDefaultArgs /** * @deprecated Use NoteShareDefaultArgs instead */ export type NoteShareArgs = NoteShareDefaultArgs /** * @deprecated Use SystemConfigDefaultArgs instead */ export type SystemConfigArgs = SystemConfigDefaultArgs /** * @deprecated Use AiFeedbackDefaultArgs instead */ export type AiFeedbackArgs = AiFeedbackDefaultArgs /** * @deprecated Use MemoryEchoInsightDefaultArgs instead */ export type MemoryEchoInsightArgs = MemoryEchoInsightDefaultArgs /** * @deprecated Use UserAISettingsDefaultArgs instead */ export type UserAISettingsArgs = UserAISettingsDefaultArgs /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }