/* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file // @ts-nocheck /* * WARNING: This is an internal file that is subject to change! * * 🛑 Under no circumstances should you import this file directly! 🛑 * * All exports from this file are wrapped under a `Prisma` namespace object in the client.ts file. * While this enables partial backward compatibility, it is not part of the stable public API. * * If you are looking for your Models, Enums, and Input Types, please import them from the respective * model files in the `model` directory! */ import * as runtime from "@prisma/client/runtime/client" import type * as Prisma from "../models" import { type PrismaClient } from "./class" export type * from '../models' export type DMMF = typeof runtime.DMMF export type PrismaPromise = runtime.Types.Public.PrismaPromise /** * Prisma Errors */ export const PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export type PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export const PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export type PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export const PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export type PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export const PrismaClientInitializationError = runtime.PrismaClientInitializationError export type PrismaClientInitializationError = runtime.PrismaClientInitializationError export const PrismaClientValidationError = runtime.PrismaClientValidationError export type PrismaClientValidationError = runtime.PrismaClientValidationError /** * Re-export of sql-template-tag */ export const sql = runtime.sqltag export const empty = runtime.empty export const join = runtime.join export const raw = runtime.raw export const Sql = runtime.Sql export type Sql = runtime.Sql /** * Decimal.js */ export const Decimal = runtime.Decimal export type Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * Extensions */ export type Extension = runtime.Types.Extensions.UserArgs export const getExtensionContext = runtime.Extensions.getExtensionContext export type Args = runtime.Types.Public.Args export type Payload = runtime.Types.Public.Payload export type Result = runtime.Types.Public.Result export type Exact = runtime.Types.Public.Exact export type PrismaVersion = { client: string engine: string } /** * Prisma Client JS version: 7.8.0 * Query Engine version: 3c6e192761c0362d496ed980de936e2f3cebcd3a */ export const prismaVersion: PrismaVersion = { client: "7.8.0", engine: "3c6e192761c0362d496ed980de936e2f3cebcd3a" } /** * Utility Types */ export type Bytes = runtime.Bytes export type JsonObject = runtime.JsonObject export type JsonArray = runtime.JsonArray export type JsonValue = runtime.JsonValue export type InputJsonObject = runtime.InputJsonObject export type InputJsonArray = runtime.InputJsonArray export type InputJsonValue = runtime.InputJsonValue export const NullTypes = { DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull), JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull), AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull), } /** * 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 = runtime.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 = runtime.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 = runtime.AnyNull type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * 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; /** * 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 */ export 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] export type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either : never export type Union = any export 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 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 export type AtLeast = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O : never>; type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ export type Merge = ComputeRaw<_Merge>>; export type Boolean = True | False export type True = 1 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 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 export 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 export type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T /** * Like `Pick`, but additionally can also accept an array of keys */ export type PickEnumerable | keyof T> = Prisma__Pick> /** * Exclude all keys with underscores */ export type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T export type FieldRef = runtime.FieldRef type FieldRefInputType = Model extends never ? never : FieldRef export const ModelName = { Class: 'Class', Deck: 'Deck', Flashcard: 'Flashcard', QuizSet: 'QuizSet', Question: 'Question', AnswerOption: 'AnswerOption', StudyProgress: 'StudyProgress', QuizAttempt: 'QuizAttempt', ShareLink: 'ShareLink', AuthSecurity: 'AuthSecurity', Setting: 'Setting', MaterialGroup: 'MaterialGroup' } as const export type ModelName = (typeof ModelName)[keyof typeof ModelName] export interface TypeMapCb extends runtime.Types.Utils.Fn<{extArgs: runtime.Types.Extensions.InternalArgs }, runtime.Types.Utils.Record> { returns: TypeMap } export type TypeMap = { globalOmitOptions: { omit: GlobalOmitOptions } meta: { modelProps: "class" | "deck" | "flashcard" | "quizSet" | "question" | "answerOption" | "studyProgress" | "quizAttempt" | "shareLink" | "authSecurity" | "setting" | "materialGroup" txIsolationLevel: TransactionIsolationLevel } model: { Class: { payload: Prisma.$ClassPayload fields: Prisma.ClassFieldRefs operations: { findUnique: { args: Prisma.ClassFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ClassFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.ClassFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ClassFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.ClassFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.ClassCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.ClassCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ClassCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.ClassDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.ClassUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.ClassDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ClassUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.ClassUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.ClassUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.ClassAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.ClassGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.ClassCountArgs result: runtime.Types.Utils.Optional | number } } } Deck: { payload: Prisma.$DeckPayload fields: Prisma.DeckFieldRefs operations: { findUnique: { args: Prisma.DeckFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.DeckFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.DeckFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.DeckFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.DeckFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.DeckCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.DeckCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.DeckCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.DeckDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.DeckUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.DeckDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.DeckUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.DeckUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.DeckUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.DeckAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.DeckGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.DeckCountArgs result: runtime.Types.Utils.Optional | number } } } Flashcard: { payload: Prisma.$FlashcardPayload fields: Prisma.FlashcardFieldRefs operations: { findUnique: { args: Prisma.FlashcardFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.FlashcardFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.FlashcardFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.FlashcardFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.FlashcardFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.FlashcardCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.FlashcardCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.FlashcardCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.FlashcardDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.FlashcardUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.FlashcardDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.FlashcardUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.FlashcardUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.FlashcardUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.FlashcardAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.FlashcardGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.FlashcardCountArgs result: runtime.Types.Utils.Optional | number } } } QuizSet: { payload: Prisma.$QuizSetPayload fields: Prisma.QuizSetFieldRefs operations: { findUnique: { args: Prisma.QuizSetFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.QuizSetFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.QuizSetFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.QuizSetFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.QuizSetFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.QuizSetCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.QuizSetCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.QuizSetCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.QuizSetDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.QuizSetUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.QuizSetDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.QuizSetUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.QuizSetUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.QuizSetUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.QuizSetAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.QuizSetGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.QuizSetCountArgs result: runtime.Types.Utils.Optional | number } } } Question: { payload: Prisma.$QuestionPayload fields: Prisma.QuestionFieldRefs operations: { findUnique: { args: Prisma.QuestionFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.QuestionFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.QuestionFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.QuestionFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.QuestionFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.QuestionCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.QuestionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.QuestionCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.QuestionDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.QuestionUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.QuestionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.QuestionUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.QuestionUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.QuestionUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.QuestionAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.QuestionGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.QuestionCountArgs result: runtime.Types.Utils.Optional | number } } } AnswerOption: { payload: Prisma.$AnswerOptionPayload fields: Prisma.AnswerOptionFieldRefs operations: { findUnique: { args: Prisma.AnswerOptionFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AnswerOptionFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.AnswerOptionFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AnswerOptionFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.AnswerOptionFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.AnswerOptionCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.AnswerOptionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AnswerOptionCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.AnswerOptionDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.AnswerOptionUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.AnswerOptionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AnswerOptionUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.AnswerOptionUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.AnswerOptionUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.AnswerOptionAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.AnswerOptionGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.AnswerOptionCountArgs result: runtime.Types.Utils.Optional | number } } } StudyProgress: { payload: Prisma.$StudyProgressPayload fields: Prisma.StudyProgressFieldRefs operations: { findUnique: { args: Prisma.StudyProgressFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.StudyProgressFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.StudyProgressFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.StudyProgressFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.StudyProgressFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.StudyProgressCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.StudyProgressCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.StudyProgressCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.StudyProgressDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.StudyProgressUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.StudyProgressDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.StudyProgressUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.StudyProgressUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.StudyProgressUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.StudyProgressAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.StudyProgressGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.StudyProgressCountArgs result: runtime.Types.Utils.Optional | number } } } QuizAttempt: { payload: Prisma.$QuizAttemptPayload fields: Prisma.QuizAttemptFieldRefs operations: { findUnique: { args: Prisma.QuizAttemptFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.QuizAttemptFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.QuizAttemptFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.QuizAttemptFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.QuizAttemptFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.QuizAttemptCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.QuizAttemptCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.QuizAttemptCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.QuizAttemptDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.QuizAttemptUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.QuizAttemptDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.QuizAttemptUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.QuizAttemptUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.QuizAttemptUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.QuizAttemptAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.QuizAttemptGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.QuizAttemptCountArgs result: runtime.Types.Utils.Optional | number } } } ShareLink: { payload: Prisma.$ShareLinkPayload fields: Prisma.ShareLinkFieldRefs operations: { findUnique: { args: Prisma.ShareLinkFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ShareLinkFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.ShareLinkFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ShareLinkFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.ShareLinkFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.ShareLinkCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.ShareLinkCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ShareLinkCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.ShareLinkDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.ShareLinkUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.ShareLinkDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ShareLinkUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.ShareLinkUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.ShareLinkUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.ShareLinkAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.ShareLinkGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.ShareLinkCountArgs result: runtime.Types.Utils.Optional | number } } } AuthSecurity: { payload: Prisma.$AuthSecurityPayload fields: Prisma.AuthSecurityFieldRefs operations: { findUnique: { args: Prisma.AuthSecurityFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AuthSecurityFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.AuthSecurityFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AuthSecurityFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.AuthSecurityFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.AuthSecurityCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.AuthSecurityCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AuthSecurityCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.AuthSecurityDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.AuthSecurityUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.AuthSecurityDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AuthSecurityUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.AuthSecurityUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.AuthSecurityUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.AuthSecurityAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.AuthSecurityGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.AuthSecurityCountArgs result: runtime.Types.Utils.Optional | number } } } Setting: { payload: Prisma.$SettingPayload fields: Prisma.SettingFieldRefs operations: { findUnique: { args: Prisma.SettingFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SettingFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.SettingFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SettingFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.SettingFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.SettingCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.SettingCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SettingCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.SettingDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.SettingUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.SettingDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SettingUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.SettingUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.SettingUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.SettingAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.SettingGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.SettingCountArgs result: runtime.Types.Utils.Optional | number } } } MaterialGroup: { payload: Prisma.$MaterialGroupPayload fields: Prisma.MaterialGroupFieldRefs operations: { findUnique: { args: Prisma.MaterialGroupFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.MaterialGroupFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.MaterialGroupFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.MaterialGroupFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.MaterialGroupFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.MaterialGroupCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.MaterialGroupCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.MaterialGroupCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.MaterialGroupDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.MaterialGroupUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.MaterialGroupDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.MaterialGroupUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.MaterialGroupUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.MaterialGroupUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.MaterialGroupAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.MaterialGroupGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.MaterialGroupCountArgs result: runtime.Types.Utils.Optional | number } } } } } & { other: { payload: any operations: { $executeRaw: { args: [query: TemplateStringsArray | Sql, ...values: any[]], result: any } $executeRawUnsafe: { args: [query: string, ...values: any[]], result: any } $queryRaw: { args: [query: TemplateStringsArray | Sql, ...values: any[]], result: any } $queryRawUnsafe: { args: [query: string, ...values: any[]], result: any } } } } /** * Enums */ export const TransactionIsolationLevel = runtime.makeStrictEnum({ Serializable: 'Serializable' } as const) export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const ClassScalarFieldEnum = { id: 'id', slug: 'slug', name: 'name', sortOrder: 'sortOrder', createdAt: 'createdAt' } as const export type ClassScalarFieldEnum = (typeof ClassScalarFieldEnum)[keyof typeof ClassScalarFieldEnum] export const DeckScalarFieldEnum = { id: 'id', classId: 'classId', name: 'name', description: 'description', sortOrder: 'sortOrder', createdAt: 'createdAt', groupId: 'groupId' } as const export type DeckScalarFieldEnum = (typeof DeckScalarFieldEnum)[keyof typeof DeckScalarFieldEnum] export const FlashcardScalarFieldEnum = { id: 'id', deckId: 'deckId', front: 'front', back: 'back', sortOrder: 'sortOrder' } as const export type FlashcardScalarFieldEnum = (typeof FlashcardScalarFieldEnum)[keyof typeof FlashcardScalarFieldEnum] export const QuizSetScalarFieldEnum = { id: 'id', classId: 'classId', name: 'name', description: 'description', sortOrder: 'sortOrder', createdAt: 'createdAt', groupId: 'groupId' } as const export type QuizSetScalarFieldEnum = (typeof QuizSetScalarFieldEnum)[keyof typeof QuizSetScalarFieldEnum] export const QuestionScalarFieldEnum = { id: 'id', quizSetId: 'quizSetId', type: 'type', prompt: 'prompt', rationale: 'rationale', category: 'category', sortOrder: 'sortOrder' } as const export type QuestionScalarFieldEnum = (typeof QuestionScalarFieldEnum)[keyof typeof QuestionScalarFieldEnum] export const AnswerOptionScalarFieldEnum = { id: 'id', questionId: 'questionId', text: 'text', isCorrect: 'isCorrect', sortOrder: 'sortOrder' } as const export type AnswerOptionScalarFieldEnum = (typeof AnswerOptionScalarFieldEnum)[keyof typeof AnswerOptionScalarFieldEnum] export const StudyProgressScalarFieldEnum = { id: 'id', contentType: 'contentType', deckId: 'deckId', quizSetId: 'quizSetId', mode: 'mode', currentIndex: 'currentIndex', orderJson: 'orderJson', answersJson: 'answersJson', cardResultsJson: 'cardResultsJson', updatedAt: 'updatedAt' } as const export type StudyProgressScalarFieldEnum = (typeof StudyProgressScalarFieldEnum)[keyof typeof StudyProgressScalarFieldEnum] export const QuizAttemptScalarFieldEnum = { id: 'id', quizSetId: 'quizSetId', score: 'score', maxScore: 'maxScore', answersJson: 'answersJson', isPartialRetake: 'isPartialRetake', completedAt: 'completedAt' } as const export type QuizAttemptScalarFieldEnum = (typeof QuizAttemptScalarFieldEnum)[keyof typeof QuizAttemptScalarFieldEnum] export const ShareLinkScalarFieldEnum = { id: 'id', targetType: 'targetType', deckId: 'deckId', quizSetId: 'quizSetId', groupId: 'groupId', createdAt: 'createdAt' } as const export type ShareLinkScalarFieldEnum = (typeof ShareLinkScalarFieldEnum)[keyof typeof ShareLinkScalarFieldEnum] export const AuthSecurityScalarFieldEnum = { id: 'id', failedAttempts: 'failedAttempts', lockedUntil: 'lockedUntil', lastAttemptAt: 'lastAttemptAt' } as const export type AuthSecurityScalarFieldEnum = (typeof AuthSecurityScalarFieldEnum)[keyof typeof AuthSecurityScalarFieldEnum] export const SettingScalarFieldEnum = { key: 'key', value: 'value' } as const export type SettingScalarFieldEnum = (typeof SettingScalarFieldEnum)[keyof typeof SettingScalarFieldEnum] export const MaterialGroupScalarFieldEnum = { id: 'id', classId: 'classId', name: 'name', type: 'type', sortOrder: 'sortOrder', createdAt: 'createdAt' } as const export type MaterialGroupScalarFieldEnum = (typeof MaterialGroupScalarFieldEnum)[keyof typeof MaterialGroupScalarFieldEnum] export const SortOrder = { asc: 'asc', desc: 'desc' } as const export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] export const NullsOrder = { first: 'first', last: 'last' } as const 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 'Int' */ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> /** * Reference to a field of type 'DateTime' */ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> /** * Reference to a field of type 'Boolean' */ export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> /** * Reference to a field of type 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } export const defineExtension = runtime.Extensions.defineExtension as unknown as runtime.Types.Extensions.ExtendsHook<"define", TypeMapCb, runtime.Types.Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export type PrismaClientOptions = ({ /** * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-pg`. */ adapter: runtime.SqlDriverAdapterFactory accelerateUrl?: never } | { /** * Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database. */ accelerateUrl: string adapter?: never }) & { /** * @default "colorless" */ errorFormat?: ErrorFormat /** * @example * ``` * // Shorthand for `emit: 'stdout'` * log: ['query', 'info', 'warn', 'error'] * * // Emit as events only * log: [ * { emit: 'event', level: 'query' }, * { emit: 'event', level: 'info' }, * { emit: 'event', level: 'warn' } * { emit: 'event', level: 'error' } * ] * * / Emit as events and log to stdout * og: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * { emit: 'stdout', level: 'error' } * * ``` * Read more in our [docs](https://pris.ly/d/logging). */ log?: (LogLevel | LogDefinition)[] /** * The default values for transactionOptions * maxWait ?= 2000 * timeout ?= 5000 */ transactionOptions?: { maxWait?: number timeout?: number isolationLevel?: TransactionIsolationLevel } /** * Global configuration for omitting model fields by default. * * @example * ``` * const prisma = new PrismaClient({ * omit: { * user: { * password: true * } * } * }) * ``` */ omit?: GlobalOmitConfig /** * SQL commenter plugins that add metadata to SQL queries as comments. * Comments follow the sqlcommenter format: https://google.github.io/sqlcommenter/ * * @example * ``` * const prisma = new PrismaClient({ * adapter, * comments: [ * traceContext(), * queryInsights(), * ], * }) * ``` */ comments?: runtime.SqlCommenterPlugin[] /** * Optional maximum size for the query plan cache. If not provided, a default size will be used. * A value of `0` can be used to disable the cache entirely. A higher cache size can improve * performance for applications that execute a large number of unique queries, while a smaller * cache size can reduce memory usage. * * @example * ``` * const prisma = new PrismaClient({ * adapter, * queryPlanCacheMaxSize: 100, * }) * ``` */ queryPlanCacheMaxSize?: number } export type GlobalOmitConfig = { class?: Prisma.ClassOmit deck?: Prisma.DeckOmit flashcard?: Prisma.FlashcardOmit quizSet?: Prisma.QuizSetOmit question?: Prisma.QuestionOmit answerOption?: Prisma.AnswerOptionOmit studyProgress?: Prisma.StudyProgressOmit quizAttempt?: Prisma.QuizAttemptOmit shareLink?: Prisma.ShareLinkOmit authSecurity?: Prisma.AuthSecurityOmit setting?: Prisma.SettingOmit materialGroup?: Prisma.MaterialGroupOmit } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type CheckIsLogLevel = T extends LogLevel ? T : never; export type GetLogType = CheckIsLogLevel< T extends LogDefinition ? T['level'] : T >; export type GetEvents = T extends Array ? GetLogType : never; export type QueryEvent = { timestamp: Date query: string params: string duration: number target: string } export type LogEvent = { timestamp: Date message: string target: string } /* End Types for Logging */ export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' /** * `PrismaClient` proxy available in interactive transactions. */ export type TransactionClient = Omit