From 7dae5107f8fd8d3389b304b22256436ee1371902 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 11 Oct 2018 02:11:12 +0900 Subject: [PATCH] Improve fault tolerance --- src/models/note.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/models/note.ts b/src/models/note.ts index 6c16ab054..a27c92c57 100644 --- a/src/models/note.ts +++ b/src/models/note.ts @@ -380,12 +380,23 @@ export const pack = async ( // resolve promises in _note object _note = await rap(_note); - // (データベースの欠損などで)ユーザーがデータベース上に見つからなかったとき + //#region (データベースの欠損などで)参照しているデータがデータベース上に見つからなかったとき if (_note.user == null) { - console.warn(`in packaging note: note user not found on database: note(${_note.id})`); + console.warn(`[DAMAGED DB] (missing) in pkg note -> user :: ${_note.id} (user ${_note.userId})`); return null; } + if (_note.replyId != null && _note.reply == null) { + console.warn(`[DAMAGED DB] (missing) in pkg note -> reply :: ${_note.id} (reply ${_note.replyId})`); + return null; + } + + if (_note.renoteId != null && _note.renote == null) { + console.warn(`[DAMAGED DB] (missing) in pkg note -> renote :: ${_note.id} (renote ${_note.renoteId})`); + return null; + } + //#endregion + if (_note.user.isCat && _note.text) { _note.text = _note.text.replace(/な/g, 'にゃ').replace(/ナ/g, 'ニャ').replace(/ナ/g, 'ニャ'); }