111 lines
2.6 KiB
TypeScript
111 lines
2.6 KiB
TypeScript
import { getAusweisartFromUUID } from "#components/Ausweis/types.js";
|
|
import { transport } from "#lib/mail.js";
|
|
import {
|
|
Benutzer,
|
|
Enums,
|
|
Rechnung,
|
|
VerbrauchsausweisWohnen,
|
|
} from "#lib/client/prisma.js";
|
|
import { prisma } from "#lib/server/prisma.js";
|
|
import { getAnsichtsausweis } from "../ausweis.js";
|
|
import Mail from "nodemailer/lib/mailer/index.js";
|
|
import { shortenUID } from "#server/lib/hash.js";
|
|
import { getPaymentSuccessSubject } from "./helpers.js";
|
|
|
|
export async function sendPaymentSuccessMail(
|
|
ausweis: VerbrauchsausweisWohnen,
|
|
rechnung: Rechnung,
|
|
user: Benutzer
|
|
) {
|
|
const aufnahme = await prisma.aufnahme.findUnique({
|
|
where: {
|
|
id: ausweis.aufnahme_id,
|
|
},
|
|
include: {
|
|
objekt: true,
|
|
bilder: true,
|
|
},
|
|
});
|
|
|
|
if (!aufnahme) {
|
|
return;
|
|
}
|
|
|
|
let info: string = "";
|
|
const ausweisart = getAusweisartFromUUID(ausweis.uid);
|
|
|
|
if (!ausweisart) {
|
|
return;
|
|
}
|
|
|
|
const attachments: Mail.Attachment[] = [];
|
|
|
|
const id = shortenUID(ausweis.uid)
|
|
|
|
if (ausweisart != Enums.Ausweisart.BedarfsausweisWohnen) {
|
|
const ansichtsausweis = await getAnsichtsausweis(
|
|
ausweis,
|
|
aufnahme,
|
|
aufnahme.objekt,
|
|
aufnahme.bilder,
|
|
user,
|
|
ausweisart
|
|
);
|
|
|
|
if (ansichtsausweis) {
|
|
attachments.push(
|
|
{
|
|
filename: `ID_${id}_Ansichtsausweis.pdf`,
|
|
encoding: "binary",
|
|
content: Buffer.from(ansichtsausweis),
|
|
contentType: "application/pdf",
|
|
contentDisposition: "attachment",
|
|
}
|
|
);
|
|
}
|
|
info =
|
|
"In der Regel erhalten Sie Ihren geprüften Ausweis innerhalb von 24 Stunden.";
|
|
} else {
|
|
info =
|
|
"Die Erstellung des Bedarfsausweises dauert momentan leider etwas länger. Bitte kontaktieren Sie uns in dringenden Fällen telefonisch (9 - 12 Uhr).";
|
|
}
|
|
|
|
await transport.sendMail({
|
|
attachments,
|
|
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
|
to: user.email,
|
|
subject: getPaymentSuccessSubject(ausweis, rechnung, ausweisart),
|
|
cc: {
|
|
address: rechnung.email || "",
|
|
name: rechnung.empfaenger || "",
|
|
},
|
|
bcc: "info@online-energieausweis.org",
|
|
html: `<p>Sehr geehrte/r ${user.name},
|
|
<br>
|
|
<br>
|
|
vielen Dank für ihre Bestellung. Wir werden den Ausweis nun prüfen und Originalausweis und Rechnung nach Prüfung zuschicken. ${info} Die Ausstellung erfolgt nach aktuellem GEG und Ihr Ausweis wird beim DIBT registriert.<br><br>
|
|
Den Rechnungsbetrag haben Sie bereits bezahlt. Vielen Dank.</p>
|
|
<p>
|
|
Mit freundlichen Grüßen,
|
|
<br>
|
|
Dipl.-Ing. Jens Cornelsen
|
|
<br>
|
|
<br>
|
|
|
|
<strong>IB Cornelsen</strong>
|
|
<br>
|
|
Katendeich 5A
|
|
<br>
|
|
21035 Hamburg
|
|
<br>
|
|
www.online-energieausweis.org
|
|
<br>
|
|
<br>
|
|
|
|
fon 040 · 209339850
|
|
<br>
|
|
fax 040 · 209339859
|
|
</p>`,
|
|
});
|
|
}
|