completed user admin page

This commit is contained in:
PxlLoewe
2025-03-15 11:09:55 -07:00
parent abf3475c7c
commit 37d02ea0bc
23 changed files with 567 additions and 106 deletions

View File

@@ -1,6 +1,7 @@
import { Event, User } from "@repo/db";
import nodemailer from "nodemailer";
import { renderCourseCompleted } from "./mail-templates/CourseCompleted";
import { renderPasswordChanged } from "./mail-templates/PasswordChanged";
let transporter: nodemailer.Transporter | null = null;
@@ -42,18 +43,39 @@ export const sendCourseCompletedEmail = async (
console.error("Transporter is not initialized");
return;
}
transporter.sendMail(
{
from: process.env.MAIL_USER,
to,
subject: `Kurs ${event.name} erfolgreich abgeschlossen`,
html: emailHtml,
},
(error, info) => {
if (error) {
console.error("Error sending email:", error);
} else {
}
},
);
sendMail(to, `Kurs ${event.name} erfolgreich abgeschlossen`, emailHtml);
};
export const sendPasswordChanged = async (
to: string,
user: User,
password: string,
) => {
const emailHtml = await renderPasswordChanged({ user, password });
await sendMail(to, `Dein Passwort wurde geändert`, emailHtml);
};
export const sendMail = async (to: string, subject: string, html: string) =>
new Promise<void>(async (resolve, reject) => {
if (!transporter) {
console.error("Transporter is not initialized");
return;
}
await transporter.sendMail(
{
from: process.env.MAIL_USER,
to,
subject: subject,
html,
},
(error, info) => {
if (error) {
reject(error);
console.error("Error sending email:", error);
} else {
resolve();
}
},
);
});