import { AufnahmeClient, BedarfsausweisWohnenClient, BenutzerClient, BildClient, getAusweisartFromId, ObjektClient, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js"; import { pdfDatenblattVerbrauchsausweisGewerbe } from "#lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.js"; import { pdfDatenblattVerbrauchsausweisWohnen } from "#lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.js"; import { pdfVerbrauchsausweisGewerbe } from "#lib/pdf/pdfVerbrauchsausweisGewerbe.js"; import { pdfVerbrauchsausweisWohnen } from "#lib/pdf/pdfVerbrauchsausweisWohnen.js"; import { Enums, prisma, Rechnung } from "#lib/server/prisma.js"; /** * Gibt den richtigen Prisma Adapter für die Ausweisart basierend auf der UID zurück, oder null bei einer falschen UID. * @param id Die Ausweis UID */ export function getPrismaAusweisAdapter(id: string) { const ausweisart = getAusweisartFromId(id); if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) { return prisma.verbrauchsausweisWohnen } else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) { return prisma.verbrauchsausweisGewerbe } else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) { return prisma.bedarfsausweisWohnen } else if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) { return prisma.gEGNachweisWohnen } else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) { return prisma.gEGNachweisGewerbe } else if (ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) { return prisma.bedarfsausweisGewerbe } } /** * Gibt den richtigen Ansichtsausweis basierend auf der Ausweisart zurück. * @param ausweis */ export async function getAnsichtsausweis(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, vorschau: boolean = true, ausweisart = getAusweisartFromId(ausweis.id)) { if (!ausweisart) { return null } if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) { return await pdfVerbrauchsausweisWohnen(ausweis as VerbrauchsausweisWohnenClient, aufnahme, objekt, bilder, user, vorschau) } else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) { return await pdfVerbrauchsausweisGewerbe(ausweis as VerbrauchsausweisGewerbeClient, aufnahme, objekt, bilder, user, vorschau) } return null } /** * Gibt das richtige Datenblatt basierend auf der Ausweisart zurück. * @param ausweis */ export async function getDatenblatt(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, rechnung: Rechnung, ausweisart = getAusweisartFromId(ausweis.id)) { if (!ausweisart) { return null } if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) { return await pdfDatenblattVerbrauchsausweisWohnen(ausweis as VerbrauchsausweisWohnenClient, aufnahme, objekt, rechnung, bilder) } else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) { return await pdfDatenblattVerbrauchsausweisGewerbe(ausweis as VerbrauchsausweisGewerbeClient, aufnahme, objekt, rechnung, bilder) } return null }