diff options
| author | nenohi <kimutipartylove@gmail.com> | 2023-10-06 21:05:44 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-06 21:05:44 +0900 |
| commit | 11e657bdd7c3643451b09129d53a44295a3c6653 (patch) | |
| tree | fc78a13e8ccce8d7b844c87b92560a9b879d0dde /packages/backend/src/server/api/endpoints/admin | |
| parent | chore: Use pnpm@8.8.0 on DevContainer (#11975) (diff) | |
| download | sharkey-11e657bdd7c3643451b09129d53a44295a3c6653.tar.gz sharkey-11e657bdd7c3643451b09129d53a44295a3c6653.tar.bz2 sharkey-11e657bdd7c3643451b09129d53a44295a3c6653.zip | |
絵文字重複チェック (#11941)
* 絵文字重複チェック
* アップデート時のチェック
* Update packages/backend/src/core/CustomEmojiService.ts
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* Update packages/backend/src/server/api/endpoints/admin/emoji/add.ts
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* Update packages/backend/src/server/api/endpoints/admin/emoji/update.ts
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
---------
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/emoji/add.ts | 7 | ||||
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/emoji/update.ts | 9 |
2 files changed, 16 insertions, 0 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 24d3a8a943..faab8ee608 100644 --- a/packages/backend/src/server/api/endpoints/admin/emoji/add.ts +++ b/packages/backend/src/server/api/endpoints/admin/emoji/add.ts @@ -23,6 +23,11 @@ export const meta = { code: 'NO_SUCH_FILE', id: 'fc46b5a4-6b92-4c33-ac66-b806659bb5cf', }, + duplicateName: { + message: 'Duplicate name.', + code: 'DUPLICATE_NAME', + id: 'f7a3462c-4e6e-4069-8421-b9bd4f4c3975', + }, }, } as const; @@ -64,6 +69,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- super(meta, paramDef, async (ps, me) => { const driveFile = await this.driveFilesRepository.findOneBy({ id: ps.fileId }); if (driveFile == null) throw new ApiError(meta.errors.noSuchFile); + const isDuplicate = await this.customEmojiService.checkDuplicate(ps.name); + if (isDuplicate) throw new ApiError(meta.errors.duplicateName); const emoji = await this.customEmojiService.add({ driveFile, diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/update.ts b/packages/backend/src/server/api/endpoints/admin/emoji/update.ts index 2d69857408..04226d8953 100644 --- a/packages/backend/src/server/api/endpoints/admin/emoji/update.ts +++ b/packages/backend/src/server/api/endpoints/admin/emoji/update.ts @@ -74,6 +74,15 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- driveFile = await this.driveFilesRepository.findOneBy({ id: ps.fileId }); if (driveFile == null) throw new ApiError(meta.errors.noSuchFile); } + const emoji = await this.customEmojiService.getEmojiById(ps.id); + if (emoji != null) { + if (ps.name !== emoji.name) { + const isDuplicate = await this.customEmojiService.checkDuplicate(ps.name); + if (isDuplicate) throw new ApiError(meta.errors.sameNameEmojiExists); + } + } else { + throw new ApiError(meta.errors.noSuchEmoji); + } await this.customEmojiService.update(ps.id, { driveFile, |