ENCOA-130: Add owners to exams

This commit is contained in:
Tiago Ribeiro
2024-09-03 16:31:29 +01:00
parent 0f38e01283
commit 7cd18b07bb
6 changed files with 113 additions and 13 deletions

View File

@@ -12,7 +12,7 @@ import {capitalize, flatten, uniqBy} from "lodash";
import {User} from "@/interfaces/user";
import moment from "moment";
import {sendEmail} from "@/email";
import { release } from "os";
import {release} from "os";
const db = getFirestore(app);
@@ -57,6 +57,7 @@ const generateExams = async (
generateMultiple: Boolean,
selectedModules: Module[],
assignees: string[],
userId: string,
variant?: Variant,
instructorGender?: InstructorGender,
): Promise<ExamWithUser[]> => {
@@ -87,7 +88,7 @@ const generateExams = async (
}
const selectedModulePromises = selectedModules.map(async (module: Module) => {
const exams: Exam[] = await getExams(db, module, "false", undefined, variant, instructorGender);
const exams: Exam[] = await getExams(db, module, "false", userId, variant, instructorGender);
const exam = exams[getRandomIndex(exams)];
if (exam) {
@@ -126,7 +127,7 @@ async function POST(req: NextApiRequest, res: NextApiResponse) {
const exams: ExamWithUser[] = !!examIDs
? examIDs.flatMap((e) => assignees.map((a) => ({...e, assignee: a})))
: await generateExams(generateMultiple, selectedModules, assignees, variant, instructorGender);
: await generateExams(generateMultiple, selectedModules, assignees, req.session.user!.id, variant, instructorGender);
if (exams.length === 0) {
res.status(400).json({ok: false, error: "No exams found for the selected modules"});