Implement local browser caching for shared groups and UI improvements
All checks were successful
Automated Container Build / build-and-push (push) Successful in 1m10s

This commit is contained in:
Elijah 2026-07-10 16:01:22 -07:00
parent 42ed0d275b
commit 7af0935657
37 changed files with 6141 additions and 411 deletions

View file

@ -394,7 +394,8 @@ export const ModelName = {
QuizAttempt: 'QuizAttempt',
ShareLink: 'ShareLink',
AuthSecurity: 'AuthSecurity',
Setting: 'Setting'
Setting: 'Setting',
MaterialGroup: 'MaterialGroup'
} as const
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
@ -410,7 +411,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
omit: GlobalOmitOptions
}
meta: {
modelProps: "class" | "deck" | "flashcard" | "quizSet" | "question" | "answerOption" | "studyProgress" | "quizAttempt" | "shareLink" | "authSecurity" | "setting"
modelProps: "class" | "deck" | "flashcard" | "quizSet" | "question" | "answerOption" | "studyProgress" | "quizAttempt" | "shareLink" | "authSecurity" | "setting" | "materialGroup"
txIsolationLevel: TransactionIsolationLevel
}
model: {
@ -1228,6 +1229,80 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
}
}
}
MaterialGroup: {
payload: Prisma.$MaterialGroupPayload<ExtArgs>
fields: Prisma.MaterialGroupFieldRefs
operations: {
findUnique: {
args: Prisma.MaterialGroupFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload> | null
}
findUniqueOrThrow: {
args: Prisma.MaterialGroupFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>
}
findFirst: {
args: Prisma.MaterialGroupFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload> | null
}
findFirstOrThrow: {
args: Prisma.MaterialGroupFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>
}
findMany: {
args: Prisma.MaterialGroupFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>[]
}
create: {
args: Prisma.MaterialGroupCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>
}
createMany: {
args: Prisma.MaterialGroupCreateManyArgs<ExtArgs>
result: BatchPayload
}
createManyAndReturn: {
args: Prisma.MaterialGroupCreateManyAndReturnArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>[]
}
delete: {
args: Prisma.MaterialGroupDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>
}
update: {
args: Prisma.MaterialGroupUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>
}
deleteMany: {
args: Prisma.MaterialGroupDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.MaterialGroupUpdateManyArgs<ExtArgs>
result: BatchPayload
}
updateManyAndReturn: {
args: Prisma.MaterialGroupUpdateManyAndReturnArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>[]
}
upsert: {
args: Prisma.MaterialGroupUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$MaterialGroupPayload>
}
aggregate: {
args: Prisma.MaterialGroupAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregateMaterialGroup>
}
groupBy: {
args: Prisma.MaterialGroupGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.MaterialGroupGroupByOutputType>[]
}
count: {
args: Prisma.MaterialGroupCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.MaterialGroupCountAggregateOutputType> | number
}
}
}
}
} & {
other: {
@ -1281,7 +1356,8 @@ export const DeckScalarFieldEnum = {
name: 'name',
description: 'description',
sortOrder: 'sortOrder',
createdAt: 'createdAt'
createdAt: 'createdAt',
groupId: 'groupId'
} as const
export type DeckScalarFieldEnum = (typeof DeckScalarFieldEnum)[keyof typeof DeckScalarFieldEnum]
@ -1304,7 +1380,8 @@ export const QuizSetScalarFieldEnum = {
name: 'name',
description: 'description',
sortOrder: 'sortOrder',
createdAt: 'createdAt'
createdAt: 'createdAt',
groupId: 'groupId'
} as const
export type QuizSetScalarFieldEnum = (typeof QuizSetScalarFieldEnum)[keyof typeof QuizSetScalarFieldEnum]
@ -1368,6 +1445,7 @@ export const ShareLinkScalarFieldEnum = {
targetType: 'targetType',
deckId: 'deckId',
quizSetId: 'quizSetId',
groupId: 'groupId',
createdAt: 'createdAt'
} as const
@ -1392,6 +1470,18 @@ export const SettingScalarFieldEnum = {
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'
@ -1569,6 +1659,7 @@ export type GlobalOmitConfig = {
shareLink?: Prisma.ShareLinkOmit
authSecurity?: Prisma.AuthSecurityOmit
setting?: Prisma.SettingOmit
materialGroup?: Prisma.MaterialGroupOmit
}
/* Types for Logging */