From 413096c25a1eaaa2a313a2b439b3ba981eb8f84b Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Mon, 2 Jun 2025 11:49:58 +0300 Subject: [PATCH 1/4] PM-111 - send the challenge markup value in the payments details --- src/domain/Challenge.ts | 8 ++++++-- src/util/FinanceApi.ts | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/domain/Challenge.ts b/src/domain/Challenge.ts index e3b6528..75896ba 100644 --- a/src/domain/Challenge.ts +++ b/src/domain/Challenge.ts @@ -592,7 +592,8 @@ class ChallengeDomain extends CoreOperations { completedChallenge.billing?.billingAccountId ?? 0, completedChallenge.legacy?.subTrack ?? "Task", completedChallenge.name, - completedChallenge.payments + completedChallenge.payments, + completedChallenge.billing?.markup ?? 0, ); baValidation = { challengeId: challenge?.id, @@ -789,7 +790,8 @@ class ChallengeDomain extends CoreOperations { completedChallenge.billing?.billingAccountId ?? 0, completedChallenge.legacy?.subTrack ?? "Task", completedChallenge.name, - completedChallenge.payments + completedChallenge.payments, + completedChallenge.billing?.markup ?? 0, ); if (baValidation != null) { @@ -915,6 +917,7 @@ class ChallengeDomain extends CoreOperations { challengeType: string, title: string, payments: UpdateChallengeInputForACL_PaymentACL[] + challengeMarkup: number, ): Promise { const token = await m2mToken.getM2MToken(); @@ -958,6 +961,7 @@ class ChallengeDomain extends CoreOperations { installmentNumber: 1, currency: "USD", billingAccount: `${billingAccountId}`, + challengeMarkup, }, ]; diff --git a/src/util/FinanceApi.ts b/src/util/FinanceApi.ts index 9544255..ecc90e1 100644 --- a/src/util/FinanceApi.ts +++ b/src/util/FinanceApi.ts @@ -6,6 +6,7 @@ export interface PaymentDetail { installmentNumber: number; currency: string; billingAccount: string; + challengeMarkup: number; } export interface PaymentPayload { From 8464a84b76fdeb9653021788885476d0ecc2ee4d Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Mon, 2 Jun 2025 11:56:41 +0300 Subject: [PATCH 2/4] code fix --- src/domain/Challenge.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/domain/Challenge.ts b/src/domain/Challenge.ts index 75896ba..105c2e3 100644 --- a/src/domain/Challenge.ts +++ b/src/domain/Challenge.ts @@ -916,7 +916,7 @@ class ChallengeDomain extends CoreOperations { billingAccountId: number, challengeType: string, title: string, - payments: UpdateChallengeInputForACL_PaymentACL[] + payments: UpdateChallengeInputForACL_PaymentACL[], challengeMarkup: number, ): Promise { const token = await m2mToken.getM2MToken(); From 476cf7ff5290e4d47ecd3db85040f348dc813440 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Mon, 2 Jun 2025 17:37:00 +0300 Subject: [PATCH 3/4] PM-1111 - send challenge fee to finance api --- src/domain/Challenge.ts | 6 ++---- src/util/FinanceApi.ts | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/domain/Challenge.ts b/src/domain/Challenge.ts index 105c2e3..c940a00 100644 --- a/src/domain/Challenge.ts +++ b/src/domain/Challenge.ts @@ -934,7 +934,7 @@ class ChallengeDomain extends CoreOperations { return 0; } - let totalAmount = 0; + const totalAmount = payments.reduce((sum, payment) => sum + payment.amount, 0); // TODO: Make this list exhaustive const mapType = (type: string) => { if (type === "placement") { @@ -961,7 +961,6 @@ class ChallengeDomain extends CoreOperations { installmentNumber: 1, currency: "USD", billingAccount: `${billingAccountId}`, - challengeMarkup, }, ]; @@ -974,8 +973,6 @@ class ChallengeDomain extends CoreOperations { : title; } - totalAmount += payment.amount; - const payload = { winnerId: payment.userId.toString(), type: "PAYMENT", @@ -988,6 +985,7 @@ class ChallengeDomain extends CoreOperations { attributes: { billingAccountId, payroll: false, + challengeFee: totalAmount * challengeMarkup, }, }; diff --git a/src/util/FinanceApi.ts b/src/util/FinanceApi.ts index ecc90e1..c4ace25 100644 --- a/src/util/FinanceApi.ts +++ b/src/util/FinanceApi.ts @@ -6,7 +6,6 @@ export interface PaymentDetail { installmentNumber: number; currency: string; billingAccount: string; - challengeMarkup: number; } export interface PaymentPayload { @@ -19,6 +18,7 @@ export interface PaymentPayload { externalId: string; attributes?: { [key: string]: string | boolean | number; + challengeFee: number; }; details: PaymentDetail[]; } From d5b654d530dd78b29c71c74c734a0b13101304d3 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Mon, 2 Jun 2025 18:12:56 +0300 Subject: [PATCH 4/4] move challenge fee to payment detail --- src/domain/Challenge.ts | 2 +- src/util/FinanceApi.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/domain/Challenge.ts b/src/domain/Challenge.ts index c940a00..5ad710e 100644 --- a/src/domain/Challenge.ts +++ b/src/domain/Challenge.ts @@ -961,6 +961,7 @@ class ChallengeDomain extends CoreOperations { installmentNumber: 1, currency: "USD", billingAccount: `${billingAccountId}`, + challengeFee: totalAmount * challengeMarkup, }, ]; @@ -985,7 +986,6 @@ class ChallengeDomain extends CoreOperations { attributes: { billingAccountId, payroll: false, - challengeFee: totalAmount * challengeMarkup, }, }; diff --git a/src/util/FinanceApi.ts b/src/util/FinanceApi.ts index c4ace25..ae3182a 100644 --- a/src/util/FinanceApi.ts +++ b/src/util/FinanceApi.ts @@ -6,6 +6,7 @@ export interface PaymentDetail { installmentNumber: number; currency: string; billingAccount: string; + challengeFee: number; } export interface PaymentPayload { @@ -18,7 +19,6 @@ export interface PaymentPayload { externalId: string; attributes?: { [key: string]: string | boolean | number; - challengeFee: number; }; details: PaymentDetail[]; }