This commit is contained in:
PxlLoewe
2025-07-25 09:53:58 -07:00
parent 26e7966e19
commit 54e0bc0b12
2 changed files with 88 additions and 66 deletions

View File

@@ -7,6 +7,7 @@ export const handleParticipantFinished = async (
participant: Participant,
user: User,
) => {
try {
const discordAccount = await prisma.discordAccount.findFirst({
where: {
userId: user.id,
@@ -56,6 +57,9 @@ export const handleParticipantFinished = async (
},
},
});
} catch (error) {
console.error("Error handling participant finished:", error);
}
};
export const handleParticipantEnrolled = async (

View File

@@ -34,43 +34,61 @@ const initTransporter = () => {
initTransporter();
export const sendCourseCompletedEmail = async (to: string, user: User, event: Event) => {
try {
const emailHtml = await renderCourseCompleted({ user, event });
if (!transporter) {
console.error("Transporter is not initialized");
return;
}
sendMail(to, `Kurs ${event.name} erfolgreich abgeschlossen`, emailHtml);
await sendMail(to, `Kurs ${event.name} erfolgreich abgeschlossen`, emailHtml);
} catch (error) {
console.error("Error sending course completed email:", error);
}
};
export const sendPasswordChanged = async (to: string, user: User, password: string) => {
try {
const emailHtml = await renderPasswordChanged({ user, password });
await sendMail(to, `Dein Passwort wurde geändert`, emailHtml);
} catch (error) {}
};
export const sendEmailVerification = async (to: string, user: User, code: string) => {
try {
const emailHtml = await renderVerificationCode({
user,
code,
});
await sendMail(to, "Bestätige deine E-Mail-Adresse", emailHtml);
} catch (error) {
console.error("Error sending email verification:", error);
}
};
export const sendBannEmail = async (to: string, user: User, staffName: string) => {
try {
const emailHtml = await renderBannNotice({
user,
staffName,
});
await sendMail(to, "Deine Sperrung bei Virtual Air Rescue", emailHtml);
} catch (error) {
console.error("Error sending ban email:", error);
}
};
export const sendTimebannEmail = async (to: string, user: User, staffName: string) => {
try {
const emailHtml = await renderTimeBanNotice({
user,
staffName,
});
await sendMail(to, "Deine vorrübergehende Sperrung bei Virtual Air Rescue", emailHtml);
} catch (error) {
console.error("Error sending time ban email:", error);
}
};
export const sendMail = async (to: string, subject: string, html: string) =>