From 3a20dfb245a1a2fb8e1b38a5cd3ddfba5f488ad7 Mon Sep 17 00:00:00 2001 From: mattyatea <mattyacocacora0@gmail.com> Date: Sun, 17 Sep 2023 17:08:03 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=B5=B5=E6=96=87=E5=AD=97=E9=87=8D?= =?UTF-8?q?=E8=A4=87=E5=91=A8=E3=82=8A=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/server/api/endpoints/admin/emoji/add.ts | 12 ++++++++---- .../src/server/api/endpoints/admin/emoji/copy.ts | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/add.ts b/packages/backend/src/server/api/endpoints/admin/emoji/add.ts index 61b1b0c5db..4ae1b8aa11 100644 --- a/packages/backend/src/server/api/endpoints/admin/emoji/add.ts +++ b/packages/backend/src/server/api/endpoints/admin/emoji/add.ts @@ -73,15 +73,19 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- const driveFile = await this.driveFilesRepository.findOneBy({ id: ps.fileId }); if (driveFile == null) throw new ApiError(meta.errors.noSuchFile); - const existEmoji = await this.emojisRepository.exist({ + const duplicationEmoji = await this.emojisRepository.find({ where: { name: ps.name, }, }); - if (existEmoji) { - throw new ApiError(meta.errors.duplicationEmojiAdd); - } + duplicationEmoji.forEach( + (emoji) => { + if (emoji.name === ps.name) { + throw new ApiError(meta.errors.duplicationEmojiAdd); + } + } + ) const emoji = await this.customEmojiService.add({ driveFile, diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts index f9a6016a6d..40f9f9e1e3 100644 --- a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts +++ b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts @@ -75,6 +75,20 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- throw new ApiError(meta.errors.noSuchEmoji); } + const duplicationEmoji = await this.emojisRepository.find({ + where: { + name: emoji.name, + }, + }); + + duplicationEmoji.forEach( + (_emoji) => { + if (_emoji.name === emoji.name) { + throw new ApiError(meta.errors.duplicationEmojiAdd); + } + } + ) + let driveFile: MiDriveFile; try {