From e801557e62af2b39ba1c2e10d9328283f06a4c81 Mon Sep 17 00:00:00 2001 From: safavimohadeseh78 Date: Sat, 15 Aug 2026 08:30:58 +0200 Subject: [PATCH] Clear only the submitted company from multi-company carts and label all companies. Co-authored-by: Cursor --- src/carts/carts.service.ts | 6 ++++-- src/orders/orders.service.ts | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/carts/carts.service.ts b/src/carts/carts.service.ts index 5791441..b0baf06 100644 --- a/src/carts/carts.service.ts +++ b/src/carts/carts.service.ts @@ -198,12 +198,14 @@ export class CartsService { companyName: string; }>; }) { - const companyName = cart.items[0]?.companyName; + const companyNames = [ + ...new Set(cart.items.map((item) => item.companyName).filter(Boolean)), + ]; return { id: cart.id, userId: cart.userId, companyId: cart.companyId ?? cart.items[0]?.companyId, - companyName: companyName ?? '', + companyName: companyNames.join('، '), notes: cart.notes ?? undefined, items: cart.items.map((item) => ({ id: item.id, diff --git a/src/orders/orders.service.ts b/src/orders/orders.service.ts index 5662ab5..ec66c0c 100644 --- a/src/orders/orders.service.ts +++ b/src/orders/orders.service.ts @@ -254,7 +254,14 @@ export class OrdersService { const cart = await tx.cart.findFirst({ where: { userId } }); if (cart) { await tx.cartItem.deleteMany({ - where: { cartId: cart.id, companyId: company.id }, + where: { cartId: cart.id, companyId: orderCompany.id }, + }); + const remaining = await tx.cartItem.findFirst({ + where: { cartId: cart.id }, + }); + await tx.cart.update({ + where: { id: cart.id }, + data: { companyId: remaining?.companyId ?? null }, }); }