This commit is contained in:
syuilo 2018-10-07 19:58:00 +09:00
parent 0adcb646fe
commit 1c65cb3e36
No known key found for this signature in database
GPG Key ID: BDC4C49D06AB9D69

View File

@ -24,7 +24,15 @@ export async function addPinned(user: IUser, noteId: mongo.ObjectID) {
throw new Error('note not found'); throw new Error('note not found');
} }
const pinnedNoteIds = user.pinnedNoteIds || []; let pinnedNoteIds = user.pinnedNoteIds || [];
//#region 現在ピン留め投稿している投稿が実際にデータベースに存在しているのかチェック
// データベースの欠損などで存在していない場合があるので。
// 存在していなかったらピン留め投稿から外す
const pinnedNotes = (await Promise.all(pinnedNoteIds.map(id => Note.findOne({ _id: id })))).filter(x => x != null);
pinnedNoteIds = pinnedNoteIds.filter(id => pinnedNotes.some(n => n._id.equals(id)));
//#endregion
if (pinnedNoteIds.length >= 5) { if (pinnedNoteIds.length >= 5) {
throw new Error('cannot pin more notes'); throw new Error('cannot pin more notes');