From 16f5084bfc32d73ca7303c0c3c249585c52f56dd Mon Sep 17 00:00:00 2001 From: Agiltoo Agiltoo Date: Thu, 15 Jun 2023 17:03:16 +0000 Subject: [PATCH] Increment challenge score when a whitelisted product is ordered & paid #110 --- src/lib/server/orders.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lib/server/orders.ts b/src/lib/server/orders.ts index 332048fce..0ad5630ac 100644 --- a/src/lib/server/orders.ts +++ b/src/lib/server/orders.ts @@ -34,7 +34,20 @@ export async function onOrderPaid(order: Order, session: ClientSession) { productId: { $in: order.items.map((item) => item.product._id) } }) .toArray(); - + const challenges = await collections.challenges.find({}).toArray(); + for (const challenge of challenges) { + await collections.challenges.updateOne( + { _id: challenge._id }, + { + $set: { + progress: { + amount: challenge.progress.amount + order.totalPrice.amount, + currency: 'SAT' + } + } + } + ); + } for (const subscription of order.items.filter((item) => item.product.type === 'subscription')) { const existingSubscription = subscriptions.find( (sub) => sub.productId === subscription.product._id