import { getAusweisartFromUUID } from "#components/Ausweis/types.js"; import { transport } from "#lib/mail.js"; import { Benutzer, Enums, Rechnung, VerbrauchsausweisWohnen, } from "@ibcornelsen/database/client"; import { prisma } from "@ibcornelsen/database/server"; import { getAnsichtsausweis } from "../ausweis.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); const attachments: any[] = []; if (ausweisart != Enums.Ausweisart.BedarfsausweisWohnen) { const ansichtsausweis = await getAnsichtsausweis( ausweis, aufnahme, aufnahme.objekt, aufnahme.bilder, user, ausweisart ); if (ansichtsausweis) { attachments.push([ { filename: "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" `, to: user.email, subject: `Bestellbestätigung vom IBCornelsen (ID: ${ausweis.uid})`, cc: { address: rechnung.email || "", name: rechnung.empfaenger || "", }, bcc: "info@online-energieausweis.org", html: `

Sehr geehrte/r ${user.name},

vielen Dank für ihre Bestellung. Wir werden Ihnen Originalausweis und Rechnung nach Prüfung zuschicken. ${info} Die Ausstellung erfolgt nach aktuellem GEG und Ihr Ausweis wird beim DIBT registriert.

Den Rechnungsbetrag haben Sie bereits bezahlt. Vielen Dank.

Mit freundlichen Grüßen,
Dipl.-Ing. Jens Cornelsen

IB Cornelsen
Katendeich 5A
21035 Hamburg
www.online-energieausweis.org

fon 040 · 209339850
fax 040 · 209339859

`, }); }