summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-10-14 01:24:54 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-10-14 01:24:54 +0900
commitba6959b8c1c4faafccdeb0f76eb26fc29e02af2d (patch)
treefecc3334216fa456e6ff4fb6c289f954f9157844
parent:art: (diff)
downloadsharkey-ba6959b8c1c4faafccdeb0f76eb26fc29e02af2d.tar.gz
sharkey-ba6959b8c1c4faafccdeb0f76eb26fc29e02af2d.tar.bz2
sharkey-ba6959b8c1c4faafccdeb0f76eb26fc29e02af2d.zip
fix(api): 管理者およびモデレーターをブロックできてしまう問題を修正
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/server/api/endpoints/blocking/create.ts10
2 files changed, 11 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d0158910c6..099a51a03b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -29,6 +29,7 @@
- クライアント: ヘッダーのタブが折り返される問題を修正
- クライアント: ヘッダーにタブが表示されている状態でタイトルをクリックしたときにタブ選択が表示されるのを修正
- クライアント: ユーザーページのタブが機能していない問題を修正
+- API: 管理者およびモデレーターをブロックできてしまう問題を修正
## 12.91.0 (2021/09/22)
diff --git a/src/server/api/endpoints/blocking/create.ts b/src/server/api/endpoints/blocking/create.ts
index 1bf5cf374b..850406908b 100644
--- a/src/server/api/endpoints/blocking/create.ts
+++ b/src/server/api/endpoints/blocking/create.ts
@@ -43,6 +43,12 @@ export const meta = {
code: 'ALREADY_BLOCKING',
id: '787fed64-acb9-464a-82eb-afbd745b9614'
},
+
+ cannotBlockModerator: {
+ message: 'Cannot block a moderator or an admin.',
+ code: 'CANNOT_BLOCK_MODERATOR',
+ id: '8544aaef-89fb-e470-9f6c-385d38b474f5'
+ }
},
res: {
@@ -60,6 +66,10 @@ export default define(meta, async (ps, user) => {
throw new ApiError(meta.errors.blockeeIsYourself);
}
+ if (user.isAdmin || user.isModerator) {
+ throw new ApiError(meta.errors.cannotBlockModerator);
+ }
+
// Get blockee
const blockee = await getUser(ps.userId).catch(e => {
if (e.id === '15348ddd-432d-49c2-8a5a-8069753becff') throw new ApiError(meta.errors.noSuchUser);