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');
1418var moment = require ( 'moment' ) ;
1519var 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+ } ;
0 commit comments