Do not send needless emojis in note

投稿作成時に含まれている絵文字を保存しておくように

SEE: https://github.com/syuilo/misskey/pull/3085#issuecomment-435608434
This commit is contained in:
syuilo
2018-11-04 03:32:20 +09:00
parent dfce5bc0af
commit 84db15694d
3 changed files with 34 additions and 15 deletions

View File

@ -16,14 +16,3 @@ export type IEmoji = {
aliases?: string[];
updatedAt?: Date;
};
export const packEmojis = async (
host: string,
// MeiTODO: filter
) => {
return await Emoji.find({ host }, {
fields: {
_id: false
}
});
};

View File

@ -12,7 +12,7 @@ import { packMany as packFileMany, IDriveFile } from './drive-file';
import Favorite from './favorite';
import Following from './following';
import config from '../config';
import { packEmojis } from './emoji';
import Emoji from './emoji';
const Note = db.get<INote>('notes');
Note.createIndex('uri', { sparse: true, unique: true });
@ -50,6 +50,7 @@ export type INote = {
text: string;
tags: string[];
tagsLower: string[];
emojis: string[];
cw: string;
userId: mongo.ObjectID;
appId: mongo.ObjectID;
@ -231,7 +232,22 @@ export const pack = async (
// _note._userを消す前か、_note.userを解決した後でないとホストがわからない
if (_note._user) {
_note.emojis = packEmojis(_note._user.host);
const host = _note._user.host;
// 互換性のため。(古いMisskeyではNoteにemojisが無い)
if (_note.emojis == null) {
_note.emojis = Emoji.find({
host: host
}, {
fields: { _id: false }
});
} else {
_note.emojis = Emoji.find({
name: { $in: _note.emojis },
host: host
}, {
fields: { _id: false }
});
}
}
// Rename _id to id