From 8669b204128e9167e33d412b2ca49e89e026d237 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Mon, 27 Oct 2025 10:10:35 +0200 Subject: [PATCH 1/2] make sure to return error message --- src/api/challenges/challenges.controller.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/api/challenges/challenges.controller.ts b/src/api/challenges/challenges.controller.ts index ab77b08..90dd263 100644 --- a/src/api/challenges/challenges.controller.ts +++ b/src/api/challenges/challenges.controller.ts @@ -51,7 +51,10 @@ export class ChallengesController { ); result.status = ResponseStatusType.SUCCESS; } catch (e) { - result.error = e; + result.error = { + ...e, + message: e.message, + }; result.status = ResponseStatusType.ERROR; } From 8e5835f415a78edd11c828c60ff3b256c1b39635 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Mon, 27 Oct 2025 10:11:25 +0200 Subject: [PATCH 2/2] PM-2561 - for challenges with prize sets other than USD, skip payments creation --- src/api/challenges/challenges.service.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/api/challenges/challenges.service.ts b/src/api/challenges/challenges.service.ts index b08d372..caca869 100644 --- a/src/api/challenges/challenges.service.ts +++ b/src/api/challenges/challenges.service.ts @@ -411,6 +411,22 @@ export class ChallengesService { ); } + const paymentTypes = [ + ...new Set( + challenge.prizeSets + .map((set) => set.prizes.map((prize) => prize.type)) + .flat(), + ), + ]; + const isRewardsPayment = paymentTypes.some((type) => type !== 'USD'); + + if (isRewardsPayment) { + this.logger.log( + `Rewards system detected: ${paymentTypes.join(', ')}. Skipping payments generation for challenge ${challenge.name} (${challenge.id}).`, + ); + return; + } + const payments = await this.getChallengePayments(challenge); const totalAmount = payments.reduce( (sum, payment) => sum + payment.details[0].totalAmount,