Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit 012de41

Browse files
committed
Merge pull request #381 from ananthhh/dev
Module Assembly - Web Arena - Match Configurations
2 parents f9ceafd + 96472a6 commit 012de41

File tree

4 files changed

+38
-25
lines changed

4 files changed

+38
-25
lines changed

actions/srmRoundManagement.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
/*
22
* Copyright (C) 2014 TopCoder Inc., All Rights Reserved.
3+
*/
4+
/**
5+
* Create, modify, list and delete SRM round.
36
*
4-
* @version 1.0
5-
* @author TCSASSEMBLER
7+
* Changes in version 1.1 (Module Assembly - Web Arena - Match Configurations):
8+
* - Updated ListSRMContestRounds to send UTC time in milliseconds for registration and coding start time
69
*
7-
* Create, modify, list and delete SRM round.
10+
* @version 1.1
11+
* @author TCSASSEMBLER
812
*/
913
/*jslint node: true, nomen: true */
1014
"use strict";
@@ -201,11 +205,13 @@ exports.listSRMContestRounds = {
201205
switch (segment.segment_id) {
202206
case 1:
203207
rr.registrationStart = helper.formatDateWithTimezone(formatDateTimeFromDB(segment.start_time));
208+
rr.registrationStartTime = start_time;
204209
rr.registrationLength = segment.duration;
205210
rr.registrationStatus = segment.status;
206211
break;
207212
case 2:
208213
rr.codingStart = helper.formatDateWithTimezone(formatDateTimeFromDB(segment.start_time));
214+
rr.codingStartTime = start_time;
209215
rr.codingLength = segment.duration;
210216
rr.codingStatus = segment.status;
211217
break;

actions/srmRoundQuestions.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
/*
22
* Copyright (C) 2014 TopCoder Inc., All Rights Reserved.
3+
*/
4+
/**
5+
* - Implement the srm round questions / answers / survey api.
6+
* Changes in version 1.1 (Module Assembly - Web Arena - Match Configurations):
7+
* - Updated getRoundQuestions to send roundId with response
38
*
4-
* @version 1.0
9+
* @version 1.1
510
* @author TCSASSEMBLER
6-
*
7-
* - Implement the srm round questions / answers / survey api.
811
*/
912

1013
/*jslint node: true, nomen: true, plusplus: true, stupid: true, unparam: true */
@@ -94,7 +97,7 @@ var getRoundQuestions = function (api, connection, dbConnectionMap, next) {
9497
if (err) {
9598
helper.handleError(api, connection, err);
9699
} else {
97-
connection.response = {questions: result};
100+
connection.response = {questions: result, roundId: roundId};
98101
}
99102
next(connection, true);
100103
});
@@ -544,7 +547,7 @@ var addRoundQuestion = function (api, connection, dbConnectionMap, next) {
544547
if (err) {
545548
helper.handleError(api, connection, err);
546549
} else {
547-
connection.response = {"success": true};
550+
connection.response = {"success": true, questionId: questionId};
548551
}
549552
next(connection, true);
550553
});
@@ -744,4 +747,4 @@ exports.modifyRoundQuestion = {
744747
api.helper.handleNoConnection(api, connection, next);
745748
}
746749
}
747-
};
750+
};

actions/srmRoundSegments.js

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
/*
22
* Copyright (C) 2014 TopCoder Inc., All Rights Reserved.
3+
*/
4+
/**
5+
* Implement the srm round segments api.
6+
*
7+
* Changes in version 1.1 (Module Assembly - Web Arena - Match Configurations):
8+
* - Modified date format and make it norm to include timezone so that moment.js can parse time correctly
39
*
4-
* @version 1.0
10+
* @version 1.1
511
* @author TCSASSEMBLER
6-
*
7-
* - Implement the srm round segments api.
812
*/
913

1014
/*jslint node: true, nomen: true, plusplus: true, stupid: true, unparam: true */
@@ -14,8 +18,8 @@ var _ = require('underscore');
1418
var moment = require('moment');
1519
var IllegalArgumentError = require('../errors/IllegalArgumentError');
1620

17-
var DATE_FORMAT = "YYYY-MM-DD HH:mm:ss";
18-
21+
var DATE_FORMAT = "YYYY-MM-DD HH:mm:ssZZ";
22+
var DB_DATE_FORMAT = "YYYY-MM-DD HH:mm:ss";
1923
/**
2024
* Check round id.
2125
*
@@ -169,34 +173,35 @@ var setRoundSegments = function (api, connection, dbConnectionMap, next) {
169173
cb(error);
170174
}
171175
}, function (results, cb) {
172-
sqlParams.startTime = helper.formatDate(registrationStart, DATE_FORMAT);
173-
sqlParams.endTime = moment(registrationStart, DATE_FORMAT).add('minutes', registrationLength).format(DATE_FORMAT);
176+
sqlParams.startTime = helper.formatDate(registrationStart, DB_DATE_FORMAT);
177+
sqlParams.endTime = moment(registrationStart, DATE_FORMAT).add('minutes', registrationLength).format(DB_DATE_FORMAT);
178+
174179
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.REGISTRATION_PHASE;
175180
sqlParams.status = registrationStatus;
176181
sqlParams.roundId = roundId;
177182
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
178183
}, function (results, cb) {
179184
//the registration end time plus 1 minute
180-
sqlParams.startTime = moment(sqlParams.endTime, DATE_FORMAT).add('minutes', 1).format(DATE_FORMAT);
181-
sqlParams.endTime = helper.formatDate(codingStart, DATE_FORMAT);
185+
sqlParams.startTime = moment(sqlParams.endTime, DB_DATE_FORMAT).add('minutes', 1).format(DB_DATE_FORMAT);
186+
sqlParams.endTime = helper.formatDate(codingStart, DB_DATE_FORMAT);
182187
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.ROOM_ASSIGNMENT_PHASE;
183188
sqlParams.status = registrationStatus;
184189
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
185190
}, function (results, cb) {
186191
sqlParams.startTime = sqlParams.endTime;
187-
sqlParams.endTime = moment(sqlParams.startTime, DATE_FORMAT).add('minutes', codingLength).format(DATE_FORMAT);
192+
sqlParams.endTime = moment(sqlParams.startTime, DB_DATE_FORMAT).add('minutes', codingLength).format(DB_DATE_FORMAT);
188193
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.CODING_PHASE;
189194
sqlParams.status = codingStatus;
190195
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
191196
}, function (results, cb) {
192197
sqlParams.startTime = sqlParams.endTime;
193-
sqlParams.endTime = moment(sqlParams.startTime, DATE_FORMAT).add('minutes', intermissionLength).format(DATE_FORMAT);
198+
sqlParams.endTime = moment(sqlParams.startTime, DB_DATE_FORMAT).add('minutes', intermissionLength).format(DB_DATE_FORMAT);
194199
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.INTERMISSION_PHASE;
195200
sqlParams.status = intermissionStatus;
196201
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
197202
}, function (results, cb) {
198203
sqlParams.startTime = sqlParams.endTime;
199-
sqlParams.endTime = moment(sqlParams.startTime, DATE_FORMAT).add('minutes', challengeLength).format(DATE_FORMAT);
204+
sqlParams.endTime = moment(sqlParams.startTime, DB_DATE_FORMAT).add('minutes', challengeLength).format(DB_DATE_FORMAT);
200205
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.CHALLENGE_PHASE;
201206
sqlParams.status = challengeStatus;
202207
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
@@ -241,4 +246,4 @@ exports.setRoundSegments = {
241246
api.helper.handleNoConnection(api, connection, next);
242247
}
243248
}
244-
};
249+
};

routes.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -374,16 +374,15 @@ exports.routes = {
374374
{ path: "/:apiVersion/data/srm/rounds/:roundId/segments", action: "setRoundSegments"},
375375
{ path: "/:apiVersion/data/srm/rounds/:roundId/survey", action: "setRoundSurvey"},
376376
{ path: "/:apiVersion/data/srm/questions/:questionId/answers", action: "addRoundQuestionAnswer"},
377-
377+
{ path: "/:apiVersion/data/srm/rounds/:questionId/question", action: "modifyRoundQuestion"},
378378
{ path: "/:apiVersion/data/srm/rounds/:roundId/components", action: "setRoundComponents"},
379379
{ path: "/:apiVersion/data/srm/rounds/:roundId/terms", action: "setRoundTerms"},
380380
{ path: "/:apiVersion/data/srm/rounds", action: "createSRMContestRound" }
381381
],
382382
put: [
383383

384384
{ path: "/:apiVersion/data/srm/contests/:id", action: "updateSRMContest"},
385-
{ path: "/:apiVersion/data/srm/rounds/:oldRoundId", action: "modifySRMContestRound" },
386-
{ path: "/:apiVersion/data/srm/rounds/:questionId/question", action: "modifyRoundQuestion"}
385+
{ path: "/:apiVersion/data/srm/rounds/:oldRoundId", action: "modifySRMContestRound" }
387386
],
388387
delete: [
389388
{ path: "/:apiVersion/data/srm/rounds/:roundId", action: "deleteSRMContestRound" }

0 commit comments

Comments
 (0)