Skip to content

Commit 8ce4e02

Browse files
committed
fix: prize amount in cents
1 parent 33247ca commit 8ce4e02

File tree

4 files changed

+54
-27
lines changed

4 files changed

+54
-27
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
"dependencies": {
4343
"@grpc/grpc-js": "^1.8.12",
4444
"@opensearch-project/opensearch": "^2.2.0",
45-
"@topcoder-framework/domain-challenge": "^0.10.8",
46-
"@topcoder-framework/lib-common": "^0.10.8",
45+
"@topcoder-framework/domain-challenge": "^0.10.13",
46+
"@topcoder-framework/lib-common": "^0.10.13",
4747
"aws-sdk": "^2.1145.0",
4848
"axios": "^0.19.0",
4949
"axios-retry": "^3.4.0",

src/common/challenge-helper.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,30 @@ class ChallengeHelper {
316316
return m;
317317
});
318318
}
319+
320+
convertPrizeSetValuesToCents(prizeSets) {
321+
prizeSets.forEach((prizeSet) => {
322+
prizeSet.prizes.forEach((prize) => {
323+
prize.amountInCents = prize.value * 100;
324+
delete prize.value;
325+
});
326+
});
327+
}
328+
329+
convertPrizeSetValuesToDollars(prizeSets, overview) {
330+
prizeSets.forEach((prizeSet) => {
331+
prizeSet.prizes.forEach((prize) => {
332+
if (prize.amountInCents != null) {
333+
prize.value = prize.amountInCents / 100;
334+
delete prize.amountInCents;
335+
}
336+
});
337+
});
338+
if (overview && overview.totalPrizesInCents) {
339+
overview.totalPrizes = overview.totalPrizesInCents / 100;
340+
delete overview.totalPrizesInCents;
341+
}
342+
}
319343
}
320344

321345
module.exports = new ChallengeHelper();

src/services/ChallengeService.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ const {
4040
validateChallengeUpdateRequest,
4141
enrichChallengeForResponse,
4242
sanitizeRepeatedFieldsInUpdateRequest,
43+
convertPrizeSetValuesToCents,
44+
convertPrizeSetValuesToDollars,
4345
} = require("../common/challenge-helper");
4446
const deepEqual = require("deep-equal");
4547

@@ -1118,7 +1120,9 @@ async function createChallenge(currentUser, challenge, userToken) {
11181120
grpcMetadata.set("handle", currentUser.handle);
11191121
grpcMetadata.set("userId", currentUser.userId);
11201122

1123+
convertPrizeSetValuesToCents(challenge.prizeSets);
11211124
const ret = await challengeDomain.create(challenge, grpcMetadata);
1125+
convertPrizeSetValuesToDollars(ret.prizeSets, ret.overview);
11221126

11231127
ret.numOfSubmissions = 0;
11241128
ret.numOfRegistrants = 0;
@@ -1841,10 +1845,6 @@ async function updateChallenge(currentUser, challengeId, data) {
18411845
}
18421846

18431847
try {
1844-
logger.debug(
1845-
`ChallengeDomain.update id: ${challengeId} Details: ${JSON.stringify(data, null, 2)}`
1846-
);
1847-
18481848
const updateInput = sanitizeRepeatedFieldsInUpdateRequest(data);
18491849

18501850
if (!_.isEmpty(updateInput)) {
@@ -1853,7 +1853,9 @@ async function updateChallenge(currentUser, challengeId, data) {
18531853
grpcMetadata.set("handle", currentUser.handle);
18541854
grpcMetadata.set("userId", currentUser.userId);
18551855

1856-
console.log("Calling update", updateInput);
1856+
if (updateInput.prizeSetUpdate != null) {
1857+
convertPrizeSetValuesToCents(updateInput.prizeSetUpdate.prizeSets);
1858+
}
18571859
await challengeDomain.update(
18581860
{
18591861
filterCriteria: getScanCriteria({ id: challengeId }),
@@ -1867,6 +1869,7 @@ async function updateChallenge(currentUser, challengeId, data) {
18671869
}
18681870

18691871
const updatedChallenge = await challengeDomain.lookup(getLookupCriteria("id", challengeId));
1872+
convertPrizeSetValuesToDollars(updatedChallenge.prizeSets, updatedChallenge.overview);
18701873

18711874
// post bus event
18721875
logger.debug(

yarn.lock

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -245,35 +245,35 @@
245245
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
246246
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
247247

248-
"@topcoder-framework/client-relational@^0.10.8":
249-
version "0.10.8"
250-
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com:443/npm/topcoder-framework/@topcoder-framework/client-relational/-/client-relational-0.10.8.tgz#8a4b0c3eab4cb4e1e83c8ee533abc9b541a20fbc"
251-
integrity sha512-vdEQhi7vKNIZWmWc3TnKEqLqXuyOMkJszgI5rXl54fkt/3MI1FPUHwHC6CexpieLdtJ+MMeGLcUxDDWcOux+3g==
248+
"@topcoder-framework/client-relational@^0.10.13":
249+
version "0.10.13"
250+
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com:443/npm/topcoder-framework/@topcoder-framework/client-relational/-/client-relational-0.10.13.tgz#84293cd265328d5f770c28ffd690fbb434ac936b"
251+
integrity sha512-p4ygOE0K2xrz/wmTSS5/3DX2lEH/bmiWsW+sL8RVstAhilWSQmdyJb49sI/QzbFqhHGS/aQnkKPt8gaNtIaVWQ==
252252
dependencies:
253253
"@grpc/grpc-js" "^1.8.0"
254-
"@topcoder-framework/lib-common" "^0.10.8"
255-
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.41"
254+
"@topcoder-framework/lib-common" "^0.10.13"
255+
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.46"
256256
tslib "^2.4.1"
257257

258-
"@topcoder-framework/domain-challenge@^0.10.8":
259-
version "0.10.8"
260-
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com:443/npm/topcoder-framework/@topcoder-framework/domain-challenge/-/domain-challenge-0.10.8.tgz#08915436d07f57d83dbca2fafc75f4c5789f4c27"
261-
integrity sha512-IHdqnR0QCpKQHpgD4BRHTdTxu1GPBnYYJiuKi+8lG+N/Xq9wVmerq2qxye7M6wWmqDRbLj3pF8kETcU4DQG73w==
258+
"@topcoder-framework/domain-challenge@^0.10.13":
259+
version "0.10.13"
260+
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com:443/npm/topcoder-framework/@topcoder-framework/domain-challenge/-/domain-challenge-0.10.13.tgz#dede4cd01054e56eb4e4486eeb99cfd9ab4d75f1"
261+
integrity sha512-srkncIcHaD1aGYD6DSHGzZDORjPZkTN9qNgZSNNYXx3Q6pNc4z3dUQqv79bEv472af4zkXmemMcmHqPTRilVtQ==
262262
dependencies:
263263
"@grpc/grpc-js" "^1.8.0"
264-
"@topcoder-framework/client-relational" "^0.10.8"
265-
"@topcoder-framework/lib-common" "^0.10.8"
266-
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.41"
264+
"@topcoder-framework/client-relational" "^0.10.13"
265+
"@topcoder-framework/lib-common" "^0.10.13"
266+
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.46"
267267
tslib "^2.4.1"
268268

269-
"@topcoder-framework/lib-common@^0.10.8":
270-
version "0.10.8"
271-
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com:443/npm/topcoder-framework/@topcoder-framework/lib-common/-/lib-common-0.10.8.tgz#c25077288df668650ceb5015ee8fe1e34ea45faa"
272-
integrity sha512-+AmSAfpW8mXuWE66/pUREYXrRA93Oddl+ZAT4/Qn5UstrgZTTRI6/ge0tEyn/yshRO9y8i+2X0Kt6fn80HWJTQ==
269+
"@topcoder-framework/lib-common@^0.10.13":
270+
version "0.10.13"
271+
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com:443/npm/topcoder-framework/@topcoder-framework/lib-common/-/lib-common-0.10.13.tgz#69a0c70d601cc37821ece1b13d300dbe8e6ddc10"
272+
integrity sha512-LXaoLQma+7cs7ly6McXmhO3YWNF27MzqiR3fgtlefVU1XbfVfWhSfDLitTUSw08PMgv+VC6nTfyo0t4202ZVcg==
273273
dependencies:
274274
"@grpc/grpc-js" "^1.8.0"
275275
rimraf "^3.0.2"
276-
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.41"
276+
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.46"
277277
tslib "^2.4.1"
278278

279279
"@types/body-parser@*":
@@ -3677,9 +3677,9 @@ topcoder-bus-api-wrapper@topcoder-platform/tc-bus-api-wrapper.git:
36773677
superagent "^3.8.3"
36783678
tc-core-library-js appirio-tech/tc-core-library-js.git#v2.6.4
36793679

3680-
"topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.41":
3680+
"topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.46":
36813681
version "1.0.0"
3682-
resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/75ed841dc94988a0757f91fc1c00a95be2a37d12"
3682+
resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/8ed5b7686125a17209c85c33f69c92476625e3c1"
36833683

36843684
topo@3.x.x:
36853685
version "3.0.3"

0 commit comments

Comments
 (0)