Bedarfsausweis: Check, ob Rechnung PDF bereits existiert

This commit is contained in:
Carl Mahnke
2025-04-23 18:00:53 +02:00
parent ecd4b08119
commit 101b1e9aab
2 changed files with 17 additions and 7 deletions

View File

@@ -14,7 +14,7 @@ import { join } from "path";
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
import { z } from "astro:content";
import { transport } from "#lib/mail.js";
import { PutObjectCommand } from "@aws-sdk/client-s3";
import { PutObjectCommand, GetObjectCommand } from "@aws-sdk/client-s3";
import { s3Client } from "#lib/s3.js";
import {
createInvoice,
@@ -130,10 +130,20 @@ export const POST = defineApiRoute({
voucherNumber = await getLexOfficeVoucherNumber(rechnung);
}
let pdfRechnung, pdfRechnungError;
const rechnungsCheckCommand = new GetObjectCommand({
Bucket: "ibc-pdfs",
Key: `ID_${ausweis.id}_Rechnung.pdf`,
});
// Hier müssen wir warten, damit wir sichergehen können, dass die Rechnung bei LexOffice existiert.
const [pdfRechnung, pdfRechnungError] = await tryCatch(
getLexOfficeRechnung(rechnung)
);
if (rechnungsCheckCommand) {
pdfRechnung = rechnungsCheckCommand;
pdfRechnungError = null;
} else {
[pdfRechnung, pdfRechnungError] = await tryCatch(getLexOfficeRechnung(rechnung));
}
if (pdfRechnungError) {
throw new APIError({