Merge exams grading into homework
Redirect /teacher/exams/grading* to /teacher/homework/submissions; remove exam grading UI/actions/data-access; add homework student workflow and update design docs.
This commit is contained in:
@@ -13,7 +13,12 @@ import {
|
||||
exams,
|
||||
examQuestions,
|
||||
examSubmissions,
|
||||
submissionAnswers
|
||||
submissionAnswers,
|
||||
homeworkAssignments,
|
||||
homeworkAssignmentQuestions,
|
||||
homeworkAssignmentTargets,
|
||||
homeworkSubmissions,
|
||||
homeworkAnswers
|
||||
} from "./schema";
|
||||
|
||||
// --- Users & Roles Relations ---
|
||||
@@ -23,7 +28,9 @@ export const usersRelations = relations(users, ({ many }) => ({
|
||||
sessions: many(sessions),
|
||||
usersToRoles: many(usersToRoles),
|
||||
createdExams: many(exams),
|
||||
createdHomeworkAssignments: many(homeworkAssignments),
|
||||
submissions: many(examSubmissions),
|
||||
homeworkSubmissions: many(homeworkSubmissions),
|
||||
authoredQuestions: many(questions),
|
||||
}));
|
||||
|
||||
@@ -169,3 +176,62 @@ export const submissionAnswersRelations = relations(submissionAnswers, ({ one })
|
||||
references: [questions.id],
|
||||
}),
|
||||
}));
|
||||
|
||||
export const homeworkAssignmentsRelations = relations(homeworkAssignments, ({ one, many }) => ({
|
||||
creator: one(users, {
|
||||
fields: [homeworkAssignments.creatorId],
|
||||
references: [users.id],
|
||||
}),
|
||||
sourceExam: one(exams, {
|
||||
fields: [homeworkAssignments.sourceExamId],
|
||||
references: [exams.id],
|
||||
}),
|
||||
questions: many(homeworkAssignmentQuestions),
|
||||
targets: many(homeworkAssignmentTargets),
|
||||
submissions: many(homeworkSubmissions),
|
||||
}));
|
||||
|
||||
export const homeworkAssignmentQuestionsRelations = relations(homeworkAssignmentQuestions, ({ one }) => ({
|
||||
assignment: one(homeworkAssignments, {
|
||||
fields: [homeworkAssignmentQuestions.assignmentId],
|
||||
references: [homeworkAssignments.id],
|
||||
}),
|
||||
question: one(questions, {
|
||||
fields: [homeworkAssignmentQuestions.questionId],
|
||||
references: [questions.id],
|
||||
}),
|
||||
}));
|
||||
|
||||
export const homeworkAssignmentTargetsRelations = relations(homeworkAssignmentTargets, ({ one }) => ({
|
||||
assignment: one(homeworkAssignments, {
|
||||
fields: [homeworkAssignmentTargets.assignmentId],
|
||||
references: [homeworkAssignments.id],
|
||||
}),
|
||||
student: one(users, {
|
||||
fields: [homeworkAssignmentTargets.studentId],
|
||||
references: [users.id],
|
||||
}),
|
||||
}));
|
||||
|
||||
export const homeworkSubmissionsRelations = relations(homeworkSubmissions, ({ one, many }) => ({
|
||||
assignment: one(homeworkAssignments, {
|
||||
fields: [homeworkSubmissions.assignmentId],
|
||||
references: [homeworkAssignments.id],
|
||||
}),
|
||||
student: one(users, {
|
||||
fields: [homeworkSubmissions.studentId],
|
||||
references: [users.id],
|
||||
}),
|
||||
answers: many(homeworkAnswers),
|
||||
}));
|
||||
|
||||
export const homeworkAnswersRelations = relations(homeworkAnswers, ({ one }) => ({
|
||||
submission: one(homeworkSubmissions, {
|
||||
fields: [homeworkAnswers.submissionId],
|
||||
references: [homeworkSubmissions.id],
|
||||
}),
|
||||
question: one(questions, {
|
||||
fields: [homeworkAnswers.questionId],
|
||||
references: [questions.id],
|
||||
}),
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user