@@ -6,14 +6,16 @@ const config = require('config')
6
6
const joi = require ( 'joi' )
7
7
const logger = require ( '../common/logger' )
8
8
const helper = require ( '../common/helper' )
9
- const { Leaderboard } = require ( '../models' )
9
+ const {
10
+ Leaderboard
11
+ } = require ( '../models' )
10
12
11
13
/**
12
14
* Returns the tests passed using the metadata information
13
15
* @param {object } metadata the object from which to retrieve the tests passed
14
16
*/
15
- function getTestsPassed ( metadata = { } ) {
16
- const tests = metadata . tests || { }
17
+ function getTestsPassed ( metadata = { } ) {
18
+ const tests = metadata . assertions || { }
17
19
18
20
let testsPassed = tests . total - tests . pending - tests . failed
19
21
@@ -28,10 +30,16 @@ function getTestsPassed (metadata = {}) {
28
30
* Handle create / update topic messages from Kafka queue
29
31
* @param {Object } message the Kafka message in JSON format
30
32
*/
31
- const upsert = async ( message ) => {
33
+ const upsert = async ( message ) => {
32
34
const submission = await helper . reqToAPI ( `${ config . SUBMISSION_API_URL } /${ message . payload . submissionId } ` )
33
-
34
- const existRecord = await Leaderboard . findOne ( { $and : [ { challengeId : submission . body . challengeId } , { memberId : submission . body . memberId } ] } )
35
+
36
+ const existRecord = await Leaderboard . findOne ( {
37
+ $and : [ {
38
+ challengeId : submission . body . challengeId
39
+ } , {
40
+ memberId : submission . body . memberId
41
+ } ]
42
+ } )
35
43
36
44
let testsPassed
37
45
let totalTestCases
@@ -46,26 +54,24 @@ const upsert = async (message) => {
46
54
47
55
if ( existRecord ) {
48
56
logger . debug ( `Record with ID # ${ message . payload . id } exists in database. Updating the score` )
49
- await Leaderboard . updateOne (
50
- {
51
- _id : existRecord . _id
52
- } ,
53
- {
54
- $set : {
55
- aggregateScore : message . payload . aggregateScore ,
56
- reviewSummationId : message . payload . id ,
57
- testsPassed,
58
- totalTestCases
59
- }
57
+ await Leaderboard . updateOne ( {
58
+ _id : existRecord . _id
59
+ } , {
60
+ $set : {
61
+ aggregateScore : message . payload . aggregateScore ,
62
+ reviewSummationId : message . payload . id ,
63
+ testsPassed,
64
+ totalTestCases
60
65
}
61
- )
66
+ } )
62
67
} else {
63
68
logger . debug ( `Record with ID # ${ message . payload . id } does not exists in database. Creating the record` )
64
- const challengeDetail = await helper . reqToAPI ( `${ config . CHALLENGE_API_URL } ?filter=id=${ submission . body . challengeId } ` )
69
+ const challengeDetail = await helper . reqToAPI (
70
+ `${ config . CHALLENGE_API_URL } ?filter=id=${ submission . body . challengeId } ` )
65
71
66
72
if ( ! helper . isGroupIdValid ( challengeDetail . body . result . content [ 0 ] . groupIds ) ) {
67
73
logger . debug ( `Group ID of Challenge # ${ submission . body . challengeId } is not configured for processing!` )
68
- // Ignore the message
74
+ // Ignore the message
69
75
return
70
76
}
71
77
@@ -101,9 +107,11 @@ upsert.schema = {
101
107
* Handle delete topic message from Kafka Queue
102
108
* @param {Object } message the Kafka message in JSON format
103
109
*/
104
- const remove = async ( message ) => {
110
+ const remove = async ( message ) => {
105
111
// Remove the record from MongoDB
106
- await Leaderboard . deleteOne ( { reviewSummationId : message . payload . id } )
112
+ await Leaderboard . deleteOne ( {
113
+ reviewSummationId : message . payload . id
114
+ } )
107
115
}
108
116
109
117
remove . schema = {
0 commit comments