| 200 | } |
| 201 | |
| 202 | getTournamentState (mandate, courseInstanceID, levelSlug, timeOffset) { |
| 203 | const tournament = _.find(mandate.currentTournament || [], t => (t.courseInstanceID === courseInstanceID) && (t.level === levelSlug)) |
| 204 | if (tournament) { |
| 205 | let delta |
| 206 | const currentTime = (Date.now() + timeOffset) / 1000 |
| 207 | console.log('Current time:', new Date(currentTime * 1000)) |
| 208 | if (currentTime < tournament.startAt) { |
| 209 | delta = tournament.startAt - currentTime |
| 210 | console.log(`Tournament will start at: ${new Date(tournament.startAt * 1000)}, Time left: ${parseInt(delta / 60 / 60)}:${parseInt(delta / 60) % 60}:${parseInt(delta) % 60}`) |
| 211 | return KEEP_CHECK_TOURNAMENT_CLOSE |
| 212 | } else if (currentTime > tournament.endAt) { |
| 213 | console.log(`Tournament ended at: ${new Date(tournament.endAt * 1000)}`) |
| 214 | return STOP_CHECK_TOURNAMENT_CLOSE |
| 215 | } |
| 216 | delta = tournament.endAt - currentTime |
| 217 | console.log(`Tournament will end at: ${new Date(tournament.endAt * 1000)}, Time left: ${parseInt(delta / 60 / 60)}:${parseInt(delta / 60) % 60}:${parseInt(delta) % 60}`) |
| 218 | return KEEP_CHECK_TOURNAMENT_OPEN |
| 219 | } else { |
| 220 | if (Array.from(mandate.tournamentOnlyLevels || []).includes(levelSlug)) { return STOP_CHECK_TOURNAMENT_CLOSE } else { return STOP_CHECK_TOURNAMENT_OPEN } |
| 221 | } |
| 222 | } |
| 223 | |
| 224 | getMeta () { |
| 225 | return { |