import { getAusweisartFromUUID } from "#components/Ausweis/types.js";
import { transport } from "#lib/mail.js";
import {
	Benutzer,
	Enums,
	Rechnung,
	VerbrauchsausweisWohnen,
} from "#lib/client/prisma";
import { prisma } from "#lib/server/prisma";
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" <info@online-energieausweis.org>`,
		to: user.email,
		subject: `Bestellbestätigung vom IBCornelsen (ID: ${ausweis.uid})`,
		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 Ihnen 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>`,
	});
}
