diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2020-03-31 09:15:04 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2020-03-31 09:15:04 +0900 |
| commit | 79354f4fafcf2794d4f9aef2fc523d420c088f8c (patch) | |
| tree | dd1349390fe1ff1f75f213b7108fac3d17f78117 /src/models | |
| parent | Refactoring (diff) | |
| download | misskey-79354f4fafcf2794d4f9aef2fc523d420c088f8c.tar.gz misskey-79354f4fafcf2794d4f9aef2fc523d420c088f8c.tar.bz2 misskey-79354f4fafcf2794d4f9aef2fc523d420c088f8c.zip | |
Refactoring
Diffstat (limited to 'src/models')
| -rw-r--r-- | src/models/index.ts | 4 | ||||
| -rw-r--r-- | src/models/repositories/emoji.ts | 27 |
2 files changed, 29 insertions, 2 deletions
diff --git a/src/models/index.ts b/src/models/index.ts index 39f185e6f4..c3b329f4f8 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -2,7 +2,6 @@ import { getRepository, getCustomRepository } from 'typeorm'; import { Announcement } from './entities/announcement'; import { AnnouncementRead } from './entities/announcement-read'; import { Instance } from './entities/instance'; -import { Emoji } from './entities/emoji'; import { Poll } from './entities/poll'; import { PollVote } from './entities/poll-vote'; import { Meta } from './entities/meta'; @@ -52,6 +51,7 @@ import { AntennaRepository } from './repositories/antenna'; import { AntennaNote } from './entities/antenna-note'; import { PromoNote } from './entities/promo-note'; import { PromoRead } from './entities/promo-read'; +import { EmojiRepository } from './repositories/emoji'; export const Announcements = getRepository(Announcement); export const AnnouncementReads = getRepository(AnnouncementRead); @@ -79,7 +79,7 @@ export const UsedUsernames = getRepository(UsedUsername); export const Followings = getCustomRepository(FollowingRepository); export const FollowRequests = getCustomRepository(FollowRequestRepository); export const Instances = getRepository(Instance); -export const Emojis = getRepository(Emoji); +export const Emojis = getCustomRepository(EmojiRepository); export const DriveFiles = getCustomRepository(DriveFileRepository); export const DriveFolders = getCustomRepository(DriveFolderRepository); export const Notifications = getCustomRepository(NotificationRepository); diff --git a/src/models/repositories/emoji.ts b/src/models/repositories/emoji.ts new file mode 100644 index 0000000000..b485b37da5 --- /dev/null +++ b/src/models/repositories/emoji.ts @@ -0,0 +1,27 @@ +import { EntityRepository, Repository } from 'typeorm'; +import { Emoji } from '../entities/emoji'; +import { ensure } from '../../prelude/ensure'; + +@EntityRepository(Emoji) +export class EmojiRepository extends Repository<Emoji> { + public async pack( + src: Emoji['id'] | Emoji, + ) { + const emoji = typeof src === 'object' ? src : await this.findOne(src).then(ensure); + + return { + id: emoji.id, + aliases: emoji.aliases, + name: emoji.name, + category: emoji.category, + host: emoji.host, + url: emoji.url, + }; + } + + public packMany( + emojis: any[], + ) { + return Promise.all(emojis.map(x => this.pack(x))); + } +} |