From 3939d780397aec97be520f6c0995882b4f3d95e6 Mon Sep 17 00:00:00 2001 From: Marco Pedone Date: Tue, 5 May 2026 14:50:06 +0200 Subject: [PATCH] feat: add cleanup logic for unpaid and inactive orders in whIntentSucceededHandler Co-authored-by: Copilot --- .../src/server/controllers/stripe.controller.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/infoalloggi/src/server/controllers/stripe.controller.ts b/apps/infoalloggi/src/server/controllers/stripe.controller.ts index 93a3ed3..582757c 100644 --- a/apps/infoalloggi/src/server/controllers/stripe.controller.ts +++ b/apps/infoalloggi/src/server/controllers/stripe.controller.ts @@ -100,6 +100,16 @@ export const whIntentSucceededHandler = async ({ userId: ordine.userid, }); + // cleanup ordini non pagati e non attivi per lo stesso utente, stesso tipo e servizio (es. se paga acconto, cancellare altri ordini acconto non pagati) + await trx + .deleteFrom("ordini") + .where("userid", "=", ordine.userid) + .where("isActive", "=", false) + .where("paymentstatus", "!=", paymentStatusEnum.enum.success) + .where("type", "=", ordine.type) + .where("servizio_id", "=", ordine.servizio_id) + .execute(); + const lock_expires = add(new Date(), { seconds: 30 }); // Lock for 30 sec switch (ordine.type) {