22
src/models/emoji.ts
Normal file
22
src/models/emoji.ts
Normal file
@ -0,0 +1,22 @@
|
||||
import db from '../db/mongodb';
|
||||
|
||||
const Emoji = db.get<IEmoji>('emoji');
|
||||
|
||||
Emoji.createIndex(['name', 'host'], { unique: true });
|
||||
|
||||
export default Emoji;
|
||||
|
||||
export type IEmoji = {
|
||||
name: string;
|
||||
host: string;
|
||||
url: string;
|
||||
aliases?: string[];
|
||||
updatedAt?: Date;
|
||||
};
|
||||
|
||||
export const packEmojis = async (
|
||||
host: string,
|
||||
// MeiTODO: filter
|
||||
) => {
|
||||
return await Emoji.find({ host });
|
||||
};
|
@ -12,6 +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';
|
||||
|
||||
const Note = db.get<INote>('notes');
|
||||
Note.createIndex('uri', { sparse: true, unique: true });
|
||||
@ -228,6 +229,11 @@ export const pack = async (
|
||||
|
||||
const id = _note._id;
|
||||
|
||||
// _note._userを消す前か、_note.userを解決した後でないとホストがわからない
|
||||
if (_note._user) {
|
||||
_note.emojis = packEmojis(_note._user.host);
|
||||
}
|
||||
|
||||
// Rename _id to id
|
||||
_note.id = _note._id;
|
||||
delete _note._id;
|
||||
|
Reference in New Issue
Block a user