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

Commit b2ca1f9

Browse files
committed
Merge branch 'match_config' into dev
2 parents f9ceafd + 24b007a commit b2ca1f9

File tree

4 files changed

+40
-39
lines changed

4 files changed

+40
-39
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: 19 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,36 @@ 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+
api.log(sqlParams.startTime);
178+
sqlParams.endTime = moment(registrationStart, DATE_FORMAT).add('minutes', registrationLength).format(DB_DATE_FORMAT);
179+
174180
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.REGISTRATION_PHASE;
175181
sqlParams.status = registrationStatus;
176182
sqlParams.roundId = roundId;
177183
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
178184
}, function (results, cb) {
179185
//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);
186+
sqlParams.startTime = moment(sqlParams.endTime, DB_DATE_FORMAT).add('minutes', 1).format(DB_DATE_FORMAT);
187+
sqlParams.endTime = helper.formatDate(codingStart, DB_DATE_FORMAT);
182188
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.ROOM_ASSIGNMENT_PHASE;
183189
sqlParams.status = registrationStatus;
184190
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
185191
}, function (results, cb) {
186192
sqlParams.startTime = sqlParams.endTime;
187-
sqlParams.endTime = moment(sqlParams.startTime, DATE_FORMAT).add('minutes', codingLength).format(DATE_FORMAT);
193+
sqlParams.endTime = moment(sqlParams.startTime, DB_DATE_FORMAT).add('minutes', codingLength).format(DB_DATE_FORMAT);
188194
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.CODING_PHASE;
189195
sqlParams.status = codingStatus;
190196
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
191197
}, function (results, cb) {
192198
sqlParams.startTime = sqlParams.endTime;
193-
sqlParams.endTime = moment(sqlParams.startTime, DATE_FORMAT).add('minutes', intermissionLength).format(DATE_FORMAT);
199+
sqlParams.endTime = moment(sqlParams.startTime, DB_DATE_FORMAT).add('minutes', intermissionLength).format(DB_DATE_FORMAT);
194200
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.INTERMISSION_PHASE;
195201
sqlParams.status = intermissionStatus;
196202
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
197203
}, function (results, cb) {
198204
sqlParams.startTime = sqlParams.endTime;
199-
sqlParams.endTime = moment(sqlParams.startTime, DATE_FORMAT).add('minutes', challengeLength).format(DATE_FORMAT);
205+
sqlParams.endTime = moment(sqlParams.startTime, DB_DATE_FORMAT).add('minutes', challengeLength).format(DB_DATE_FORMAT);
200206
sqlParams.segmentId = helper.SEGMENTS_ID_MAP.CHALLENGE_PHASE;
201207
sqlParams.status = challengeStatus;
202208
api.dataAccess.executeQuery("insert_round_segments", sqlParams, dbConnectionMap, cb);
@@ -241,4 +247,4 @@ exports.setRoundSegments = {
241247
api.helper.handleNoConnection(api, connection, next);
242248
}
243249
}
244-
};
250+
};

routes.js

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (C) 2013 - 2014 TopCoder Inc., All Rights Reserved.
33
*
4-
* @version 1.60
4+
* @version 1.56
55
* @author vangavroche, Sky_, muzehyun, kurtrips, Ghost_141, ecnu_haozi, hesibo, LazyChild, isv, flytoj2ee,
66
* @author panoptimum, bugbuka, Easyhard
77
*
@@ -132,14 +132,6 @@
132132
* - Add routes for set round components and terms.
133133
* Changes in 1.56:
134134
* - Add route for Data Science Past Challenges API.
135-
* Changes in 1.57 (Module Assembly - Topcoder NodeJS Active and Upcoming Data Science Challenge API):
136-
* - Added route for Active / Upcoming Data Science Challenges API.
137-
* Changes in 1.58:
138-
* - Add routes for SRM practice problems API.
139-
* Changes in 1.59:
140-
* - Add route for user activation email api.
141-
* Changes in 1.60:
142-
* - Add route for get user identity api.
143135
*/
144136
/*jslint node:true, nomen: true */
145137
"use strict";
@@ -255,8 +247,6 @@ exports.routes = {
255247
{ path: "/:apiVersion/design/download/:submissionId", action: "downloadDesignSubmission" },
256248

257249
{ path: "/:apiVersion/user/challenges", action: "getMyChallenges" },
258-
{ path: "/:apiVersion/user/activation-email", action: "userActivationEmail" },
259-
{ path: "/:apiVersion/user/identity", action: "getUserIdentity" },
260250

261251
{ path: "/:apiVersion/users/tops/:trackType", action: "getTopTrackMembers" },
262252
{ path: "/:apiVersion/users/resetToken", action: "generateResetToken" },
@@ -281,7 +271,6 @@ exports.routes = {
281271
{ path: "/:apiVersion/data/srm/challenges", action: "searchSRMChallenges" },
282272
{ path: "/:apiVersion/data/srm/roundAccess", action: "loadRoundAccess"},
283273
{ path: "/:apiVersion/data/srm/schedule", action: "getSRMSchedule"},
284-
{ path: "/:apiVersion/data/srm/practice/problems", action: "getPracticeProblems" },
285274

286275
{ path: "/:apiVersion/data/marathon/challenges/:roundId/regInfo", action: "getMarathonChallengeRegInfo" },
287276
{ path: "/:apiVersion/data/marathon/challenges/:id", action: "getMarathonChallenge" },
@@ -295,8 +284,6 @@ exports.routes = {
295284
{ path: "/:apiVersion/terms/detail/:termsOfUseId", action: "getTermsOfUse"},
296285
{ path: "/:apiVersion/data/srm/contests", action: "listSRMContests"},
297286
{ path: "/:apiVersion/dataScience/challenges/past", action: "pastDataScienceChallenges"},
298-
{ path: "/:apiVersion/dataScience/challenges/active", action: "activeDataScienceChallenges"},
299-
{ path: "/:apiVersion/dataScience/challenges/upcoming", action: "upcomingDataScienceChallenges"},
300287

301288
//example secure route using oauth. for future reference.
302289
{ path: "/:apiVersion/secure/challengetypes", action: "softwareTypesSecured" },
@@ -374,16 +361,15 @@ exports.routes = {
374361
{ path: "/:apiVersion/data/srm/rounds/:roundId/segments", action: "setRoundSegments"},
375362
{ path: "/:apiVersion/data/srm/rounds/:roundId/survey", action: "setRoundSurvey"},
376363
{ path: "/:apiVersion/data/srm/questions/:questionId/answers", action: "addRoundQuestionAnswer"},
377-
364+
{ path: "/:apiVersion/data/srm/rounds/:questionId/question", action: "modifyRoundQuestion"},
378365
{ path: "/:apiVersion/data/srm/rounds/:roundId/components", action: "setRoundComponents"},
379366
{ path: "/:apiVersion/data/srm/rounds/:roundId/terms", action: "setRoundTerms"},
380367
{ path: "/:apiVersion/data/srm/rounds", action: "createSRMContestRound" }
381368
],
382369
put: [
383370

384371
{ 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"}
372+
{ path: "/:apiVersion/data/srm/rounds/:oldRoundId", action: "modifySRMContestRound" }
387373
],
388374
delete: [
389375
{ path: "/:apiVersion/data/srm/rounds/:roundId", action: "deleteSRMContestRound" }

0 commit comments

Comments
 (0)