From fce7dc0f4e69053c7306289189b4fa4891f57339 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 4 Oct 2018 13:53:48 +0900 Subject: Improve error handling of pack function of notification --- src/models/notification.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/models/notification.ts') diff --git a/src/models/notification.ts b/src/models/notification.ts index 835c89cd56..57be4bef10 100644 --- a/src/models/notification.ts +++ b/src/models/notification.ts @@ -77,6 +77,12 @@ export async function deleteNotification(notification: string | mongo.ObjectID | }); } +export const packMany = async ( + notifications: any[] +) => { + return (await Promise.all(notifications.map(n => pack(n)))).filter(x => x != null); +}; + /** * Pack a notification for API response */ @@ -123,6 +129,12 @@ export const pack = (notification: any) => new Promise(async (resolve, reje case 'poll_vote': // Populate note _notification.note = await packNote(_notification.noteId, me); + + // (データベースの不具合などで)投稿が見つからなかったら + if (_notification.note == null) { + console.warn(`in packaging notification: note not found on database: ${_notification.noteId}`); + return resolve(null); + } break; default: console.error(`Unknown type: ${_notification.type}`); -- cgit v1.2.3-freya