Implement local browser caching for shared groups and UI improvements
All checks were successful
Automated Container Build / build-and-push (push) Successful in 1m10s
All checks were successful
Automated Container Build / build-and-push (push) Successful in 1m10s
This commit is contained in:
parent
42ed0d275b
commit
7af0935657
37 changed files with 6141 additions and 411 deletions
|
|
@ -14,8 +14,9 @@ model Class {
|
|||
sortOrder Int @default(0)
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
decks Deck[]
|
||||
quizSets QuizSet[]
|
||||
decks Deck[]
|
||||
quizSets QuizSet[]
|
||||
materialGroups MaterialGroup[]
|
||||
}
|
||||
|
||||
model Deck {
|
||||
|
|
@ -27,6 +28,8 @@ model Deck {
|
|||
createdAt DateTime @default(now())
|
||||
|
||||
class Class @relation(fields: [classId], references: [id], onDelete: Cascade)
|
||||
groupId String?
|
||||
group MaterialGroup? @relation(fields: [groupId], references: [id], onDelete: SetNull)
|
||||
cards Flashcard[]
|
||||
shareLink ShareLink?
|
||||
progress StudyProgress[]
|
||||
|
|
@ -51,6 +54,8 @@ model QuizSet {
|
|||
createdAt DateTime @default(now())
|
||||
|
||||
class Class @relation(fields: [classId], references: [id], onDelete: Cascade)
|
||||
groupId String?
|
||||
group MaterialGroup? @relation(fields: [groupId], references: [id], onDelete: SetNull)
|
||||
questions Question[]
|
||||
attempts QuizAttempt[]
|
||||
shareLink ShareLink?
|
||||
|
|
@ -113,13 +118,15 @@ model QuizAttempt {
|
|||
|
||||
model ShareLink {
|
||||
id String @id @default(uuid())
|
||||
targetType String // "DECK" | "QUIZ"
|
||||
targetType String // "DECK" | "QUIZ" | "GROUP"
|
||||
deckId String? @unique
|
||||
quizSetId String? @unique
|
||||
groupId String? @unique
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
deck Deck? @relation(fields: [deckId], references: [id], onDelete: Cascade)
|
||||
quizSet QuizSet? @relation(fields: [quizSetId], references: [id], onDelete: Cascade)
|
||||
deck Deck? @relation(fields: [deckId], references: [id], onDelete: Cascade)
|
||||
quizSet QuizSet? @relation(fields: [quizSetId], references: [id], onDelete: Cascade)
|
||||
group MaterialGroup? @relation(fields: [groupId], references: [id], onDelete: Cascade)
|
||||
}
|
||||
|
||||
model AuthSecurity {
|
||||
|
|
@ -133,3 +140,17 @@ model Setting {
|
|||
key String @id
|
||||
value String
|
||||
}
|
||||
|
||||
model MaterialGroup {
|
||||
id String @id @default(uuid())
|
||||
classId String
|
||||
name String
|
||||
type String // "DECK" | "QUIZ"
|
||||
sortOrder Int @default(0)
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
class Class @relation(fields: [classId], references: [id], onDelete: Cascade)
|
||||
decks Deck[]
|
||||
quizSets QuizSet[]
|
||||
shareLink ShareLink?
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue