From fb3c5a23eb2a1be5f0150f27d871370ba2ef5492 Mon Sep 17 00:00:00 2001 From: Menci Date: Sat, 9 Mar 2019 20:55:45 +0800 Subject: [PATCH] Improve robustness --- models/common.js | 2 ++ models/contest_ranklist.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/models/common.js b/models/common.js index 952e1a1..bdce62a 100644 --- a/models/common.js +++ b/models/common.js @@ -10,6 +10,8 @@ class Model { let model = this.getModel(); let obj = JSON.parse(JSON.stringify(this.record.get({ plain: true }))); for (let key in obj) { + if (!model.tableAttributes[key]) continue; + if (model.tableAttributes[key].type instanceof Sequelize.JSON && typeof obj[key] === 'string') { try { this[key] = JSON.parse(obj[key]); diff --git a/models/contest_ranklist.js b/models/contest_ranklist.js index 7532e0d..d082fbe 100644 --- a/models/contest_ranklist.js +++ b/models/contest_ranklist.js @@ -53,6 +53,8 @@ class ContestRanklist extends Model { for (let i in player.score_details) { let judge_state = await JudgeState.fromID(player.score_details[i].judge_id); + if (!judge_state) continue; + player.latest = Math.max(player.latest, judge_state.submit_time); if (player.score_details[i].score != null) {