summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authornenohi <kimutipartylove@gmail.com>2023-03-20 14:24:18 +0900
committerGitHub <noreply@github.com>2023-03-20 14:24:18 +0900
commite1520479126a5ca79012a49e4b1a6872f1dc481a (patch)
treed815579c28c80a1a0cce4ac170f3d32f2867db58 /packages/backend/src/server/api
parenttweak drive-cleaner (diff)
downloadsharkey-e1520479126a5ca79012a49e4b1a6872f1dc481a.tar.gz
sharkey-e1520479126a5ca79012a49e4b1a6872f1dc481a.tar.bz2
sharkey-e1520479126a5ca79012a49e4b1a6872f1dc481a.zip
絵文字の名前に@や:が使用できる (#9964)
* fix(#9918)名前の一致でもエラーとするように * 判定を逆に * )の位置間違えてる * カテゴリ分けとかしたときにエラーになる * エラー消し * こういうこと・・・?
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/update.ts11
1 files changed, 8 insertions, 3 deletions
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 dad0e3ef86..1c649db93e 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/update.ts
@@ -19,6 +19,11 @@ export const meta = {
code: 'NO_SUCH_EMOJI',
id: '684dec9d-a8c2-4364-9aa8-456c49cb1dc8',
},
+ alreadyexistsemoji: {
+ message: 'Emoji already exists',
+ code: 'EMOJI_ALREADY_EXISTS',
+ id: '7180fe9d-1ee3-bff9-647d-fe9896d2ffb8',
+ },
},
} as const;
@@ -26,7 +31,7 @@ export const paramDef = {
type: 'object',
properties: {
id: { type: 'string', format: 'misskey:id' },
- name: { type: 'string' },
+ name: { type: 'string', pattern: '^[a-zA-Z0-9_]+$' },
category: {
type: 'string',
nullable: true,
@@ -57,9 +62,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
) {
super(meta, paramDef, async (ps, me) => {
const emoji = await this.emojisRepository.findOneBy({ id: ps.id });
-
+ const emojiname = await this.emojisRepository.findOneBy({ name: ps.name });
if (emoji == null) throw new ApiError(meta.errors.noSuchEmoji);
-
+ if (emojiname != null && emojiname.id !== ps.id) throw new ApiError(meta.errors.alreadyexistsemoji);
await this.emojisRepository.update(emoji.id, {
updatedAt: new Date(),
name: ps.name,