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 {