fix: rétablir la suppression de facture en recette

This commit is contained in:
Manus
2026-10-02 17:05:14 +00:00
parent aebdafd026
commit c5f0c9eed6
6 changed files with 92 additions and 8 deletions

View File

@@ -291,12 +291,26 @@ export async function deleteInvoice(id: number) {
// Enregistrer dans la blacklist avant suppression
const invoice = await db.select().from(invoices).where(eq(invoices.id, id)).limit(1);
if (invoice[0] && invoice[0].invoiceNumber) {
await db.insert(deletedInvoices).values({
userId: invoice[0].userId,
invoiceNumber: invoice[0].invoiceNumber,
totalAmount: invoice[0].totalAmount ?? undefined,
supplierName: invoice[0].supplierName ?? undefined,
}).onDuplicateKeyUpdate({ set: { deletedAt: new Date() } });
const blacklistEntry = await db.select({ id: deletedInvoices.id })
.from(deletedInvoices)
.where(and(
eq(deletedInvoices.userId, invoice[0].userId),
eq(deletedInvoices.invoiceNumber, invoice[0].invoiceNumber),
))
.limit(1);
if (blacklistEntry[0]) {
await db.update(deletedInvoices)
.set({ deletedAt: new Date() })
.where(eq(deletedInvoices.id, blacklistEntry[0].id));
} else {
await db.insert(deletedInvoices).values({
userId: invoice[0].userId,
invoiceNumber: invoice[0].invoiceNumber,
totalAmount: invoice[0].totalAmount ?? undefined,
supplierName: invoice[0].supplierName ?? undefined,
});
}
}
await db.delete(invoices).where(eq(invoices.id, id));
}