Fix bug
This commit is contained in:
parent
2870a7e463
commit
273f67e268
|
@ -1,7 +1,7 @@
|
||||||
import config from '../../config';
|
import config from '../../config';
|
||||||
import * as mongo from 'mongodb';
|
import * as mongo from 'mongodb';
|
||||||
import User, { isLocalUser, isRemoteUser, ILocalUser, IUser } from '../../models/user';
|
import User, { isLocalUser, isRemoteUser, ILocalUser, IUser } from '../../models/user';
|
||||||
import Note from '../../models/note';
|
import Note, { packMany } from '../../models/note';
|
||||||
import Following from '../../models/following';
|
import Following from '../../models/following';
|
||||||
import renderAdd from '../../remote/activitypub/renderer/add';
|
import renderAdd from '../../remote/activitypub/renderer/add';
|
||||||
import renderRemove from '../../remote/activitypub/renderer/remove';
|
import renderRemove from '../../remote/activitypub/renderer/remove';
|
||||||
|
@ -27,11 +27,11 @@ export async function addPinned(user: IUser, noteId: mongo.ObjectID) {
|
||||||
let pinnedNoteIds = user.pinnedNoteIds || [];
|
let pinnedNoteIds = user.pinnedNoteIds || [];
|
||||||
|
|
||||||
//#region 現在ピン留め投稿している投稿が実際にデータベースに存在しているのかチェック
|
//#region 現在ピン留め投稿している投稿が実際にデータベースに存在しているのかチェック
|
||||||
// データベースの欠損などで存在していない場合があるので。
|
// データベースの欠損などで存在していない(または破損している)場合があるので。
|
||||||
// 存在していなかったらピン留め投稿から外す
|
// 存在していなかったらピン留め投稿から外す
|
||||||
const pinnedNotes = (await Promise.all(pinnedNoteIds.map(id => Note.findOne({ _id: id })))).filter(x => x != null);
|
const pinnedNotes = await packMany(pinnedNoteIds, null, { detail: true });
|
||||||
|
|
||||||
pinnedNoteIds = pinnedNoteIds.filter(id => pinnedNotes.some(n => n._id.equals(id)));
|
pinnedNoteIds = pinnedNoteIds.filter(id => pinnedNotes.some(n => n.id.toString() === id.toHexString()));
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
if (pinnedNoteIds.length >= 5) {
|
if (pinnedNoteIds.length >= 5) {
|
||||||
|
|
Loading…
Reference in New Issue