From 11e657bdd7c3643451b09129d53a44295a3c6653 Mon Sep 17 00:00:00 2001 From: nenohi Date: Fri, 6 Oct 2023 21:05:44 +0900 Subject: 絵文字重複チェック (#11941) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 絵文字重複チェック * アップデート時のチェック * Update packages/backend/src/core/CustomEmojiService.ts Co-authored-by: syuilo * Update packages/backend/src/server/api/endpoints/admin/emoji/add.ts Co-authored-by: syuilo * Update packages/backend/src/server/api/endpoints/admin/emoji/update.ts Co-authored-by: syuilo --------- Co-authored-by: syuilo --- packages/backend/src/core/CustomEmojiService.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'packages/backend/src/core/CustomEmojiService.ts') diff --git a/packages/backend/src/core/CustomEmojiService.ts b/packages/backend/src/core/CustomEmojiService.ts index 9661a0aea3..617893450d 100644 --- a/packages/backend/src/core/CustomEmojiService.ts +++ b/packages/backend/src/core/CustomEmojiService.ts @@ -380,6 +380,20 @@ export class CustomEmojiService implements OnApplicationShutdown { } } + /** + * ローカル内の絵文字に重複がないかチェックします + * @param name 絵文字名 + */ + @bindThis + public checkDuplicate(name: string): Promise { + return this.emojisRepository.exist({ where: { name, host: IsNull() } }); + } + + @bindThis + public getEmojiById(id: string): Promise { + return this.emojisRepository.findOneBy({ id }); + } + @bindThis public dispose(): void { this.cache.dispose(); -- cgit v1.2.3-freya From e4345679dc8bc380041d61ddecd94bd6b498e1fd Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 6 Oct 2023 21:11:45 +0900 Subject: clean up --- packages/backend/src/core/CustomEmojiService.ts | 1 - 1 file changed, 1 deletion(-) (limited to 'packages/backend/src/core/CustomEmojiService.ts') diff --git a/packages/backend/src/core/CustomEmojiService.ts b/packages/backend/src/core/CustomEmojiService.ts index 9661a0aea3..17f7449281 100644 --- a/packages/backend/src/core/CustomEmojiService.ts +++ b/packages/backend/src/core/CustomEmojiService.ts @@ -48,7 +48,6 @@ export class CustomEmojiService implements OnApplicationShutdown { fetcher: () => this.emojisRepository.find({ where: { host: IsNull() } }).then(emojis => new Map(emojis.map(emoji => [emoji.name, emoji]))), toRedisConverter: (value) => JSON.stringify(Array.from(value.values())), fromRedisConverter: (value) => { - if (!Array.isArray(JSON.parse(value))) return undefined; // 古いバージョンの壊れたキャッシュが残っていることがある(そのうち消す) return new Map(JSON.parse(value).map((x: Serialized) => [x.name, { ...x, updatedAt: x.updatedAt ? new Date(x.updatedAt) : null, -- cgit v1.2.3-freya