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) {