1
1
/*
2
2
* 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
3
9
*
4
- * @version 1.0
10
+ * @version 1.1
5
11
* @author TCSASSEMBLER
6
- *
7
- * - Implement the srm round segments api.
8
12
*/
9
13
10
14
/*jslint node: true, nomen: true, plusplus: true, stupid: true, unparam: true */
@@ -14,8 +18,8 @@ var _ = require('underscore');
14
18
var moment = require ( 'moment' ) ;
15
19
var IllegalArgumentError = require ( '../errors/IllegalArgumentError' ) ;
16
20
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" ;
19
23
/**
20
24
* Check round id.
21
25
*
@@ -169,34 +173,35 @@ var setRoundSegments = function (api, connection, dbConnectionMap, next) {
169
173
cb ( error ) ;
170
174
}
171
175
} , 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
+
174
179
sqlParams . segmentId = helper . SEGMENTS_ID_MAP . REGISTRATION_PHASE ;
175
180
sqlParams . status = registrationStatus ;
176
181
sqlParams . roundId = roundId ;
177
182
api . dataAccess . executeQuery ( "insert_round_segments" , sqlParams , dbConnectionMap , cb ) ;
178
183
} , function ( results , cb ) {
179
184
//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 ) ;
182
187
sqlParams . segmentId = helper . SEGMENTS_ID_MAP . ROOM_ASSIGNMENT_PHASE ;
183
188
sqlParams . status = registrationStatus ;
184
189
api . dataAccess . executeQuery ( "insert_round_segments" , sqlParams , dbConnectionMap , cb ) ;
185
190
} , function ( results , cb ) {
186
191
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 ) ;
188
193
sqlParams . segmentId = helper . SEGMENTS_ID_MAP . CODING_PHASE ;
189
194
sqlParams . status = codingStatus ;
190
195
api . dataAccess . executeQuery ( "insert_round_segments" , sqlParams , dbConnectionMap , cb ) ;
191
196
} , function ( results , cb ) {
192
197
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 ) ;
194
199
sqlParams . segmentId = helper . SEGMENTS_ID_MAP . INTERMISSION_PHASE ;
195
200
sqlParams . status = intermissionStatus ;
196
201
api . dataAccess . executeQuery ( "insert_round_segments" , sqlParams , dbConnectionMap , cb ) ;
197
202
} , function ( results , cb ) {
198
203
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 ) ;
200
205
sqlParams . segmentId = helper . SEGMENTS_ID_MAP . CHALLENGE_PHASE ;
201
206
sqlParams . status = challengeStatus ;
202
207
api . dataAccess . executeQuery ( "insert_round_segments" , sqlParams , dbConnectionMap , cb ) ;
@@ -241,4 +246,4 @@ exports.setRoundSegments = {
241
246
api . helper . handleNoConnection ( api , connection , next ) ;
242
247
}
243
248
}
244
- } ;
249
+ } ;
0 commit comments