Moodle-überprüfungs option für admins hinzugefügt
This commit is contained in:
@@ -2,6 +2,7 @@ import { prisma } from "@repo/db";
|
||||
import { Router } from "express";
|
||||
import { eventCompleted } from "helper/events";
|
||||
import { handleParticipantEnrolled, handleParticipantFinished } from "modules/event";
|
||||
import { getMoodleCourseCompletionStatus } from "modules/moodle";
|
||||
|
||||
const router: Router = Router();
|
||||
|
||||
@@ -38,6 +39,43 @@ router.post("/handle-participant-finished", async (req, res) => {
|
||||
res.status(200).json({ message: "Participant finished successfully" });
|
||||
});
|
||||
|
||||
router.post("/check-moodle-results", async (req, res) => {
|
||||
const { participantId } = req.body;
|
||||
if (!participantId) {
|
||||
res.status(400).json({ error: "Participant ID is required" });
|
||||
return;
|
||||
}
|
||||
const participant = await prisma.participant.findUnique({
|
||||
where: {
|
||||
id: typeof participantId == "string" ? parseInt(participantId) : participantId,
|
||||
},
|
||||
include: {
|
||||
Event: true,
|
||||
User: true,
|
||||
},
|
||||
});
|
||||
if (!participant) {
|
||||
res.status(404).json({ error: "Teilnehmer nicht gefunden" });
|
||||
return;
|
||||
}
|
||||
if (!participant.User || !participant.User.moodleId) {
|
||||
res.status(400).json({ error: "Teilnehmer hat keine Moodle-ID" });
|
||||
return;
|
||||
}
|
||||
const quizzResult = await getMoodleCourseCompletionStatus(
|
||||
participant.User.moodleId.toString(),
|
||||
participant.Event.finisherMoodleCourseId!,
|
||||
);
|
||||
if (quizzResult?.completionstatus?.completed === true) {
|
||||
await handleParticipantFinished(participant.Event, participant, participant.User);
|
||||
res
|
||||
.status(200)
|
||||
.json({ message: "Nutzer hat das Moodle-event abgeschlossen, workflow ausgeführt" });
|
||||
} else {
|
||||
res.status(200).json({ message: "Nutzer hat das Moodle-event noch nicht abgeschlossen" });
|
||||
}
|
||||
});
|
||||
|
||||
router.post("/handle-participant-enrolled", async (req, res) => {
|
||||
const { participantId } = req.body;
|
||||
if (!participantId) {
|
||||
|
||||
Reference in New Issue
Block a user