/* !!! 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.9.1 * Query Engine version: e922089b7d7502aff4249d5da3420f6fa55fc6ad */ export const prismaVersion: PrismaVersion = { client: "7.9.1", engine: "e922089b7d7502aff4249d5da3420f6fa55fc6ad" } /** * 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; }; /** * Resolved type of the argument passed to the `PrismaClient` constructor. * * When called without a narrower options type (the common case), this resolves * to `PrismaClientOptions` directly, which produces a clear TypeScript error * message (`not assignable to parameter of type 'PrismaClientOptions'`) when * the argument is missing or incomplete. When the user supplies a narrower * options type (e.g. via a literal), it falls back to `Subset` to keep * filtering out unknown properties. */ export type PrismaClientConstructorArgs = [PrismaClientOptions] extends [Options] ? PrismaClientOptions : Subset; /** * 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)) & object : 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', StudyActivity: 'StudyActivity', ArcadePack: 'ArcadePack', ArcadeAttempt: 'ArcadeAttempt', MaterialGroup: 'MaterialGroup', SpacedRepetitionSet: 'SpacedRepetitionSet', SpacedRepetitionSetDeck: 'SpacedRepetitionSetDeck', SpacedRepetitionCardState: 'SpacedRepetitionCardState' } 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" | "studyActivity" | "arcadePack" | "arcadeAttempt" | "materialGroup" | "spacedRepetitionSet" | "spacedRepetitionSetDeck" | "spacedRepetitionCardState" 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 } } } StudyActivity: { payload: Prisma.$StudyActivityPayload fields: Prisma.StudyActivityFieldRefs operations: { findUnique: { args: Prisma.StudyActivityFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.StudyActivityFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.StudyActivityFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.StudyActivityFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.StudyActivityFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.StudyActivityCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.StudyActivityCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.StudyActivityCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.StudyActivityDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.StudyActivityUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.StudyActivityDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.StudyActivityUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.StudyActivityUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.StudyActivityUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.StudyActivityAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.StudyActivityGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.StudyActivityCountArgs result: runtime.Types.Utils.Optional | number } } } ArcadePack: { payload: Prisma.$ArcadePackPayload fields: Prisma.ArcadePackFieldRefs operations: { findUnique: { args: Prisma.ArcadePackFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ArcadePackFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.ArcadePackFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ArcadePackFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.ArcadePackFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.ArcadePackCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.ArcadePackCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ArcadePackCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.ArcadePackDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.ArcadePackUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.ArcadePackDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ArcadePackUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.ArcadePackUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.ArcadePackUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.ArcadePackAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.ArcadePackGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.ArcadePackCountArgs result: runtime.Types.Utils.Optional | number } } } ArcadeAttempt: { payload: Prisma.$ArcadeAttemptPayload fields: Prisma.ArcadeAttemptFieldRefs operations: { findUnique: { args: Prisma.ArcadeAttemptFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ArcadeAttemptFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.ArcadeAttemptFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ArcadeAttemptFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.ArcadeAttemptFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.ArcadeAttemptCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.ArcadeAttemptCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ArcadeAttemptCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.ArcadeAttemptDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.ArcadeAttemptUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.ArcadeAttemptDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ArcadeAttemptUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.ArcadeAttemptUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.ArcadeAttemptUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.ArcadeAttemptAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.ArcadeAttemptGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.ArcadeAttemptCountArgs 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 } } } SpacedRepetitionSet: { payload: Prisma.$SpacedRepetitionSetPayload fields: Prisma.SpacedRepetitionSetFieldRefs operations: { findUnique: { args: Prisma.SpacedRepetitionSetFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SpacedRepetitionSetFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.SpacedRepetitionSetFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SpacedRepetitionSetFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.SpacedRepetitionSetFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.SpacedRepetitionSetCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.SpacedRepetitionSetCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SpacedRepetitionSetCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.SpacedRepetitionSetDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.SpacedRepetitionSetUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.SpacedRepetitionSetDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SpacedRepetitionSetUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.SpacedRepetitionSetUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.SpacedRepetitionSetUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.SpacedRepetitionSetAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.SpacedRepetitionSetGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.SpacedRepetitionSetCountArgs result: runtime.Types.Utils.Optional | number } } } SpacedRepetitionSetDeck: { payload: Prisma.$SpacedRepetitionSetDeckPayload fields: Prisma.SpacedRepetitionSetDeckFieldRefs operations: { findUnique: { args: Prisma.SpacedRepetitionSetDeckFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SpacedRepetitionSetDeckFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.SpacedRepetitionSetDeckFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SpacedRepetitionSetDeckFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.SpacedRepetitionSetDeckFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.SpacedRepetitionSetDeckCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.SpacedRepetitionSetDeckCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SpacedRepetitionSetDeckCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.SpacedRepetitionSetDeckDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.SpacedRepetitionSetDeckUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.SpacedRepetitionSetDeckDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SpacedRepetitionSetDeckUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.SpacedRepetitionSetDeckUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.SpacedRepetitionSetDeckUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.SpacedRepetitionSetDeckAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.SpacedRepetitionSetDeckGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.SpacedRepetitionSetDeckCountArgs result: runtime.Types.Utils.Optional | number } } } SpacedRepetitionCardState: { payload: Prisma.$SpacedRepetitionCardStatePayload fields: Prisma.SpacedRepetitionCardStateFieldRefs operations: { findUnique: { args: Prisma.SpacedRepetitionCardStateFindUniqueArgs result: runtime.Types.Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SpacedRepetitionCardStateFindUniqueOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findFirst: { args: Prisma.SpacedRepetitionCardStateFindFirstArgs result: runtime.Types.Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SpacedRepetitionCardStateFindFirstOrThrowArgs result: runtime.Types.Utils.PayloadToResult } findMany: { args: Prisma.SpacedRepetitionCardStateFindManyArgs result: runtime.Types.Utils.PayloadToResult[] } create: { args: Prisma.SpacedRepetitionCardStateCreateArgs result: runtime.Types.Utils.PayloadToResult } createMany: { args: Prisma.SpacedRepetitionCardStateCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SpacedRepetitionCardStateCreateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } delete: { args: Prisma.SpacedRepetitionCardStateDeleteArgs result: runtime.Types.Utils.PayloadToResult } update: { args: Prisma.SpacedRepetitionCardStateUpdateArgs result: runtime.Types.Utils.PayloadToResult } deleteMany: { args: Prisma.SpacedRepetitionCardStateDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SpacedRepetitionCardStateUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.SpacedRepetitionCardStateUpdateManyAndReturnArgs result: runtime.Types.Utils.PayloadToResult[] } upsert: { args: Prisma.SpacedRepetitionCardStateUpsertArgs result: runtime.Types.Utils.PayloadToResult } aggregate: { args: Prisma.SpacedRepetitionCardStateAggregateArgs result: runtime.Types.Utils.Optional } groupBy: { args: Prisma.SpacedRepetitionCardStateGroupByArgs result: runtime.Types.Utils.Optional[] } count: { args: Prisma.SpacedRepetitionCardStateCountArgs 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', sessionId: 'sessionId', revision: 'revision', 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', reviewSnapshotJson: 'reviewSnapshotJson', 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 StudyActivityScalarFieldEnum = { id: 'id', type: 'type', occurredAt: 'occurredAt' } as const export type StudyActivityScalarFieldEnum = (typeof StudyActivityScalarFieldEnum)[keyof typeof StudyActivityScalarFieldEnum] export const ArcadePackScalarFieldEnum = { id: 'id', classId: 'classId', gameType: 'gameType', name: 'name', description: 'description', schemaVersion: 'schemaVersion', sourceJson: 'sourceJson', normalizedJson: 'normalizedJson', validationReportJson: 'validationReportJson', sortOrder: 'sortOrder', createdAt: 'createdAt', updatedAt: 'updatedAt' } as const export type ArcadePackScalarFieldEnum = (typeof ArcadePackScalarFieldEnum)[keyof typeof ArcadePackScalarFieldEnum] export const ArcadeAttemptScalarFieldEnum = { id: 'id', arcadePackId: 'arcadePackId', mode: 'mode', score: 'score', maxScore: 'maxScore', accuracy: 'accuracy', durationSeconds: 'durationSeconds', mistakes: 'mistakes', hintsUsed: 'hintsUsed', settingsJson: 'settingsJson', resultsJson: 'resultsJson', seed: 'seed', completedAt: 'completedAt' } as const export type ArcadeAttemptScalarFieldEnum = (typeof ArcadeAttemptScalarFieldEnum)[keyof typeof ArcadeAttemptScalarFieldEnum] 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 SpacedRepetitionSetScalarFieldEnum = { id: 'id', classId: 'classId', name: 'name', description: 'description', newCardsPerDay: 'newCardsPerDay', sortOrder: 'sortOrder', createdAt: 'createdAt', updatedAt: 'updatedAt' } as const export type SpacedRepetitionSetScalarFieldEnum = (typeof SpacedRepetitionSetScalarFieldEnum)[keyof typeof SpacedRepetitionSetScalarFieldEnum] export const SpacedRepetitionSetDeckScalarFieldEnum = { setId: 'setId', deckId: 'deckId', sortOrder: 'sortOrder', addedAt: 'addedAt' } as const export type SpacedRepetitionSetDeckScalarFieldEnum = (typeof SpacedRepetitionSetDeckScalarFieldEnum)[keyof typeof SpacedRepetitionSetDeckScalarFieldEnum] export const SpacedRepetitionCardStateScalarFieldEnum = { id: 'id', setId: 'setId', flashcardId: 'flashcardId', due: 'due', stability: 'stability', difficulty: 'difficulty', elapsedDays: 'elapsedDays', scheduledDays: 'scheduledDays', learningSteps: 'learningSteps', reps: 'reps', lapses: 'lapses', state: 'state', firstReviewedAt: 'firstReviewedAt', lastReview: 'lastReview', createdAt: 'createdAt', updatedAt: 'updatedAt' } as const export type SpacedRepetitionCardStateScalarFieldEnum = (typeof SpacedRepetitionCardStateScalarFieldEnum)[keyof typeof SpacedRepetitionCardStateScalarFieldEnum] 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' /** * Options common to all variants of `PrismaClientOptions`, regardless of whether you connect to your database through a driver adapter or through Prisma Accelerate. */ export interface PrismaClientBaseOptions { /** * @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 } /** * `PrismaClient` options for connecting to your database through Prisma Accelerate instead of a driver adapter. * * Learn more: https://pris.ly/d/accelerate */ export interface PrismaClientOptionsWithAccelerateUrl extends PrismaClientBaseOptions { /** * The Prisma Accelerate connection URL. Use this option to connect to your database through Prisma Accelerate instead of using a driver adapter to connect directly. * * Learn more: https://pris.ly/d/accelerate */ accelerateUrl: string adapter?: never } /** * `PrismaClient` options for connecting to your database through a driver adapter. This is the common case in Prisma 7. * * Learn more: https://pris.ly/d/driver-adapters */ export interface PrismaClientOptionsWithAdapter extends PrismaClientBaseOptions { /** * A driver adapter that PrismaClient uses to connect to your database, such as the ones provided by `@prisma/adapter-pg`, `@prisma/adapter-libsql`, `@prisma/adapter-planetscale`, etc. * * A driver adapter is **required** unless you connect to your database through Prisma Accelerate (in which case use `accelerateUrl` instead). * * Learn more: https://pris.ly/d/driver-adapters * * @example * ```ts * import { PrismaPg } from '@prisma/adapter-pg' * import { PrismaClient } from './generated/prisma/client' * * const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL }) * const prisma = new PrismaClient({ adapter }) * ``` */ adapter: runtime.SqlDriverAdapterFactory accelerateUrl?: never } /** * Options passed to the `PrismaClient` constructor. * * A driver adapter (or, alternatively, a Prisma Accelerate URL) is **required**. See {@link PrismaClientOptionsWithAdapter} and {@link PrismaClientOptionsWithAccelerateUrl} for the two variants. All other properties live in {@link PrismaClientBaseOptions} and are optional. * * Learn more about driver adapters: https://pris.ly/d/driver-adapters */ export type PrismaClientOptions = PrismaClientOptionsWithAccelerateUrl | PrismaClientOptionsWithAdapter 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 studyActivity?: Prisma.StudyActivityOmit arcadePack?: Prisma.ArcadePackOmit arcadeAttempt?: Prisma.ArcadeAttemptOmit materialGroup?: Prisma.MaterialGroupOmit spacedRepetitionSet?: Prisma.SpacedRepetitionSetOmit spacedRepetitionSetDeck?: Prisma.SpacedRepetitionSetDeckOmit spacedRepetitionCardState?: Prisma.SpacedRepetitionCardStateOmit } /* 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