Bedarfsausweis: Check, ob Rechnung PDF bereits existiert
This commit is contained in:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user